VirtualBox

Changeset 92800 in vbox


Ignore:
Timestamp:
Dec 8, 2021 1:15:14 AM (3 years ago)
Author:
vboxsync
Message:

/Config.kmk: Use -ffunction-sections, -fdata-sections and -Wl,--gc-sections on staticially linked modules (mostly GAs and ValKit) on ELF platforms. Should save a bit of space.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r92796 r92800  
    58805880        $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/oldnames.lib
    58815881 endif
    5882 else ifn1of ($(KBUILD_TARGET), darwin linux solaris)
    5883  # The gcc guys sans darwin, linux and solaris (don't depend on statically compiled system libs there)
    5884  TEMPLATE_VBOXR3STATIC_CFLAGS          = $(TEMPLATE_VBOXR3EXE_CFLAGS) -static
    5885  TEMPLATE_VBOXR3STATIC_CXXFLAGS        = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -static
    5886  TEMPLATE_VBOXR3STATIC_PCHFLAGS        = $(TEMPLATE_VBOXR3EXE_PCHFLAGS) -static
    5887  TEMPLATE_VBOXR3STATIC_OBJCFLAGS       = $(TEMPLATE_VBOXR3EXE_OBJCFLAGS) -static
    5888  TEMPLATE_VBOXR3STATIC_OBJCXXFLAGS     = $(TEMPLATE_VBOXR3EXE_OBJCXXFLAGS) -static
    5889  TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(TEMPLATE_VBOXR3EXE_LDFLAGS) -static
    5890 else ifeq ($(KBUILD_TARGET),solaris)
    5891  TEMPLATE_VBOXR3STATIC_LIBS            = $(TEMPLATE_VBOXR3EXE_LIBS) nsl
    5892  TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)',$(TEMPLATE_VBOXR3EXE_LDFLAGS))
    58935882else
    5894  TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)',$(TEMPLATE_VBOXR3EXE_LDFLAGS))
     5883 ifn1of ($(KBUILD_TARGET), darwin linux solaris)
     5884  # The gcc guys sans darwin, linux and solaris (don't depend on statically compiled system libs there)
     5885  TEMPLATE_VBOXR3STATIC_CFLAGS          = $(TEMPLATE_VBOXR3EXE_CFLAGS) -static
     5886  TEMPLATE_VBOXR3STATIC_CXXFLAGS        = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -static
     5887  TEMPLATE_VBOXR3STATIC_PCHFLAGS        = $(TEMPLATE_VBOXR3EXE_PCHFLAGS) -static
     5888  TEMPLATE_VBOXR3STATIC_OBJCFLAGS       = $(TEMPLATE_VBOXR3EXE_OBJCFLAGS) -static
     5889  TEMPLATE_VBOXR3STATIC_OBJCXXFLAGS     = $(TEMPLATE_VBOXR3EXE_OBJCXXFLAGS) -static
     5890  TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(TEMPLATE_VBOXR3EXE_LDFLAGS) -static
     5891 else ifeq ($(KBUILD_TARGET),solaris)
     5892  TEMPLATE_VBOXR3STATIC_LIBS            = $(TEMPLATE_VBOXR3EXE_LIBS) nsl
     5893  TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)',$(TEMPLATE_VBOXR3EXE_LDFLAGS))
     5894 else
     5895  TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)',$(TEMPLATE_VBOXR3EXE_LDFLAGS))
     5896 endif
     5897 ifn1of ($(KBUILD_TARGET), darwin os2) # ELF only. Present in gcc 3.2.3 & binutils 2.15, possibly earlier.
     5898  ifndef TEMPLATE_VBOXR3STATIC_CXXFLAGS
     5899   TEMPLATE_VBOXR3STATIC_CXXFLAGS       = $(TEMPLATE_VBOXR3EXE_CXXFLAGS)
     5900   TEMPLATE_VBOXR3STATIC_CFLAGS         = $(TEMPLATE_VBOXR3EXE_CFLAGS)
     5901  endif
     5902  TEMPLATE_VBOXR3STATIC_CXXFLAGS       += -ffunction-sections -fdata-sections
     5903  TEMPLATE_VBOXR3STATIC_CFLAGS         += -ffunction-sections -fdata-sections
     5904  TEMPLATE_VBOXR3STATIC_LDFLAGS        += -Wl,--gc-sections
     5905 endif
    58955906endif
    58965907
     
    77817792 TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.debug = $(NO_SUCH_VARIABLE)
    77827793 TEMPLATE_VBOXGUESTR3EXE_LDFLAGS  = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS))
     7794 ifn1of ($(KBUILD_TARGET), darwin os2) # ELF only. Present in gcc 3.2.3 & binutils 2.15, possibly earlier.
     7795  TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS += -ffunction-sections -fdata-sections
     7796  TEMPLATE_VBOXGUESTR3EXE_CFLAGS   += -ffunction-sections -fdata-sections
     7797  TEMPLATE_VBOXGUESTR3EXE_LDFLAGS  += -Wl,--gc-sections
     7798 endif
    77837799endif
    77847800TEMPLATE_VBOXGUESTR3EXE_INST      = $(INST_ADDITIONS)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette