Hi Heinrich, On Mon, 23 Oct 2023 at 23:31, Heinrich Schuchardt <heinrich.schucha...@canonical.com> wrote: > > The sandbox should closely mimic other architectures. > > Place each function or data in a separate section and let the linker > eliminate unused ones. This will reduce the binary size. > > In the linker script mark that u_boot_sandbox_getopt are to be kept. > > Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> > --- > v3: > avoid duplicate -Wl,--gc-sections > only use KEEP for unreferenced symbols > v2: > mark _u_boot_sandbox_getopt sections as KEEP() > --- > arch/sandbox/config.mk | 4 ++-- > arch/sandbox/cpu/u-boot.lds | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-)
I would still rather not do this, I am OK with trying it so long as we can revert it if it causes problems. > > diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk > index 2d184c5f65..1d50991f8d 100644 > --- a/arch/sandbox/config.mk > +++ b/arch/sandbox/config.mk > @@ -2,7 +2,7 @@ > # Copyright (c) 2011 The Chromium OS Authors. > > PLATFORM_CPPFLAGS += -D__SANDBOX__ -U_FORTIFY_SOURCE > -PLATFORM_CPPFLAGS += -fPIC > +PLATFORM_CPPFLAGS += -fPIC -ffunction-sections -fdata-sections > PLATFORM_LIBS += -lrt > SDL_CONFIG ?= sdl2-config > > @@ -30,7 +30,7 @@ cmd_u-boot__ = $(CC) -o $@ -Wl,-T u-boot.lds $(u-boot-init) > \ > $(u-boot-main) \ > $(u-boot-keep-syms-lto) \ > -Wl,--no-whole-archive \ > - $(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot.map > + $(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot.map -Wl,--gc-sections > > cmd_u-boot-spl = (cd $(obj) && $(CC) -o $(SPL_BIN) -Wl,-T u-boot-spl.lds \ > $(KBUILD_LDFLAGS:%=-Wl,%) \ > diff --git a/arch/sandbox/cpu/u-boot.lds b/arch/sandbox/cpu/u-boot.lds > index ba8dee50c7..52f13af374 100644 > --- a/arch/sandbox/cpu/u-boot.lds > +++ b/arch/sandbox/cpu/u-boot.lds > @@ -15,7 +15,7 @@ SECTIONS > > _u_boot_sandbox_getopt : { > *(_u_boot_sandbox_getopt_start) > - *(_u_boot_sandbox_getopt) > + KEEP(*(_u_boot_sandbox_getopt)) > *(_u_boot_sandbox_getopt_end) > } > > -- > 2.40.1 > Regards, Simon