VirtualBox

Changeset 72114 in vbox


Ignore:
Timestamp:
May 4, 2018 4:00:01 PM (6 years ago)
Author:
vboxsync
Message:

Additions/Linux: always build Additions complatible with old distributions.
bugref:9112: Linux Additions: fix building binaries for older Linux user space
A second attempt at making our Linux Additions binaries work with old versions
of glibc without any special configuration settings, now that the build
problem on EL5 is fixed.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r72093 r72114  
    66356635endif
    66366636
    6637 ifdef VBOX_WITH_OLD_GLIBC_SUPPORT
    66386637# Use older versions of APIs which were improved in versions of glibc later
    66396638# than what we are targetting, and do not use the stack protector, which
    66406639# needs glibc 2.4 or later.
    6641  TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.linux    = \
     6640TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.linux    = \
    66426641        -include $(PATH_ROOT)/include/iprt/linux/symvers.h \
    66436642        $(VBOX_GCC_fno-stack-protector)
    6644  TEMPLATE_VBOXGUESTR3EXE_CFLAGS.linux      = $(TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.linux)
     6643TEMPLATE_VBOXGUESTR3EXE_CFLAGS.linux      = $(TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.linux)
    66456644# The GNU_HASH ELF tag is not supported by older systems.
    6646  TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.linux      += -Wl,--hash-style=sysv
    6647 endif
     6645TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.linux      += -Wl,--hash-style=sysv
    66486646
    66496647#
     
    68486846TEMPLATE_VBOXGUESTR3XF86MOD_LIBS.$(KBUILD_TARGET)    = $(NO_SUCH_VARIABLE)
    68496847TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
    6850 ifdef VBOX_WITH_OLD_GLIBC_SUPPORT
    6851 # The GNU_HASH ELF tag is not supported by older systems.
     6848# The GNU_HASH ELF tag is not supported by older glibc dynamic linkers.
    68526849TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.linux = --hash-style=sysv
    6853 endif
    68546850TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.$(KBUILD_TYPE)   = $(NO_SUCH_VARIABLE)
    68556851TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS          = -r
  • trunk/src/VBox/Additions/x11/VBoxClient/Makefile.kmk

    r71708 r72114  
    6868        supc++ \
    6969        gcc_eh
    70 ifdef VBOX_WITH_OLD_GLIBC_SUPPORT
    71  # This has to be in LIBS, so as to be linked in after supc++ and gcc_eh, which
    72  # depend on the symbols it provides.  Static supc++ and gcc_eh on at least
    73  # Ubuntu 17.04 contain references to __sprintf_chk and __stack_chk_fail.
    74  # Furthermore, they contain references to memcpy, which needs to be resolved
    75  # to memcpy@GLIBC_2.2.5, which we solve in a not-very-satisfactory way with a
    76  # wrapper.
    77  ifeq ($(KBUILD_TARGET),linux)
     70# This has to be in LIBS, so as to be linked in after supc++ and gcc_eh, which
     71# depend on the symbols it provides.  Static supc++ and gcc_eh on at least
     72# Ubuntu 17.04 contain references to __sprintf_chk and __stack_chk_fail.
     73# Furthermore, they contain references to memcpy, which needs to be resolved
     74# to memcpy@GLIBC_2.2.5, which we solve in a not-very-satisfactory way with a
     75# wrapper.
     76ifeq ($(KBUILD_TARGET),linux)
    7877VBoxClient_LIBS    += \
    7978        $(PATH_ROOT)/src/VBox/Additions/x11/VBoxClient/chk_stubs.c
    8079VBoxClient_LDFLAGS.amd64 += \
    8180        -Wl,--wrap=memcpy
    82  endif
    8381endif
    8482
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