VirtualBox

Changeset 35572 in vbox


Ignore:
Timestamp:
Jan 14, 2011 2:51:16 PM (14 years ago)
Author:
vboxsync
Message:

Only VBoxRT, VBoxVMM, VBoxDD, VBoxDD2 and VBoxREM should be PIC avoiding.

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r35562 r35572  
    30453045        -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \
    30463046        -compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
    3047 ifeq ($(filter-out solaris.x86 %.amd64 %.sparc32 %.sparc64,$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),) ## TODO: cleanup!
    3048  ifn1of ($(KBUILD_TARGET), darwin win)
    3049   TEMPLATE_VBOXR3_DEFS                 = $(TEMPLATE_VBOXR3EXE_DEFS) PIC
    3050   TEMPLATE_VBOXR3_CFLAGS               = $(TEMPLATE_VBOXR3EXE_CFLAGS) -fPIC
    3051   TEMPLATE_VBOXR3_CXXFLAGS             = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -fPIC
    3052   TEMPLATE_VBOXR3_LDFLAGS              = $(TEMPLATE_VBOXR3EXE_LDFLAGS) -fPIC
    3053  endif
     3047ifn1of ($(KBUILD_TARGET), darwin win os2)
     3048 TEMPLATE_VBOXR3_DEFS                  = $(TEMPLATE_VBOXR3EXE_DEFS) PIC
     3049 TEMPLATE_VBOXR3_CFLAGS                = $(TEMPLATE_VBOXR3EXE_CFLAGS) -fPIC
     3050 TEMPLATE_VBOXR3_CXXFLAGS              = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -fPIC
     3051 TEMPLATE_VBOXR3_LDFLAGS               = $(TEMPLATE_VBOXR3EXE_LDFLAGS) -fPIC
    30543052endif
    30553053
     
    30673065 TEMPLATE_VBoxR3Dll_CFLAGS            += $(VBOX_GCC_WERR)
    30683066 TEMPLATE_VBoxR3Dll_CXXFLAGS          += $(VBOX_GCC_WERR)
     3067endif
     3068
     3069#
     3070# Template for building performance critical stuff with warnings-as-errors.
     3071#                                      -
     3072TEMPLATE_VBoxR3DllNoPic                = VBox ring-3 SO/DLLs without PIC, without warnings.
     3073TEMPLATE_VBoxR3DllNoPic_EXTENDS        = VBOXR3
     3074if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), linux.x86 freebsd.x86)
     3075 TEMPLATE_VBoxR3DllNoPic_DEFS          = $(TEMPLATE_VBOXR3EXE_DEFS)
     3076 TEMPLATE_VBoxR3DllNoPic_CFLAGS        = $(TEMPLATE_VBOXR3EXE_CFLAGS)   $(VBOX_GCC_WERR)
     3077 TEMPLATE_VBoxR3DllNoPic_CXXFLAGS      = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) $(VBOX_GCC_WERR)
     3078 TEMPLATE_VBoxR3DllNoPic_LDFLAGS       = $(TEMPLATE_VBOXR3EXE_LDFLAGS)
     3079else ifeq ($(KBUILD_TARGET),win)
     3080 TEMPLATE_VBoxR3DllNoPic_CFLAGS        = $(TEMPLATE_VBOXR3_CFLAGS)   $(VBOX_VCC_WERR)
     3081 TEMPLATE_VBoxR3DllNoPic_CXXFLAGS      = $(TEMPLATE_VBOXR3_CXXFLAGS) $(VBOX_VCC_WERR)
     3082 TEMPLATE_VBoxR3DllNoPic_LDFLAGS       = $(TEMPLATE_VBOXR3_LDFLAGS)  $(VBOX_VCC_LD_WERR)
     3083else
     3084 TEMPLATE_VBoxR3DllNoPic_CFLAGS        = $(TEMPLATE_VBOXR3_CFLAGS)   $(VBOX_GCC_WERR)
     3085 TEMPLATE_VBoxR3DllNoPic_CXXFLAGS      = $(TEMPLATE_VBOXR3_CXXFLAGS) $(VBOX_GCC_WERR)
     3086endif
     3087
     3088#
     3089# Template for building performance critical stuff without warnings-as-errors.
     3090#                                      -
     3091TEMPLATE_VBoxR3DllWarnNoPic                = VBox ring-3 SO/DLLs without PIC, with warnings.
     3092TEMPLATE_VBoxR3DllWarnNoPic_EXTENDS        = VBOXR3
     3093if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), linux.x86 freebsd.x86)
     3094 TEMPLATE_VBoxR3DllWarnNoPic_DEFS          = $(TEMPLATE_VBOXR3EXE_DEFS)
     3095 TEMPLATE_VBoxR3DllWarnNoPic_CFLAGS        = $(TEMPLATE_VBOXR3EXE_CFLAGS)
     3096 TEMPLATE_VBoxR3DllWarnNoPic_CXXFLAGS      = $(TEMPLATE_VBOXR3EXE_CXXFLAGS)
     3097 TEMPLATE_VBoxR3DllWarnNoPic_LDFLAGS       = $(TEMPLATE_VBOXR3EXE_LDFLAGS)
    30693098endif
    30703099
     
    35273556TEMPLATE_VBOXMAINDLL  = VBox Main Component (shared library)
    35283557TEMPLATE_VBOXMAINDLL_EXTENDS = VBOXMAINEXE
    3529 
    3530 ifeq ($(filter-out solaris.x86 %.amd64 %.sparc32 %.sparc64,$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),) ## TODO: cleanup!
    3531  ifn1of ($(KBUILD_TARGET), darwin win)
    3532   TEMPLATE_VBOXMAINDLL_DEFS     = PIC $(TEMPLATE_VBOXMAINEXE_DEFS)
    3533   TEMPLATE_VBOXMAINDLL_CFLAGS   = -fPIC $(TEMPLATE_VBOXMAINEXE_CFLAGS)
    3534   TEMPLATE_VBOXMAINDLL_CXXFLAGS = -fPIC $(TEMPLATE_VBOXMAINEXE_CXXFLAGS)
    3535   TEMPLATE_VBOXMAINDLL_LDFLAGS  = -fPIC $(TEMPLATE_VBOXMAINEXE_LDFLAGS)
    3536  endif
     3558ifn1of ($(KBUILD_TARGET), darwin os2 win)
     3559 TEMPLATE_VBOXMAINDLL_DEFS     = PIC $(TEMPLATE_VBOXMAINEXE_DEFS)
     3560 TEMPLATE_VBOXMAINDLL_CFLAGS   = -fPIC $(TEMPLATE_VBOXMAINEXE_CFLAGS)
     3561 TEMPLATE_VBOXMAINDLL_CXXFLAGS = -fPIC $(TEMPLATE_VBOXMAINEXE_CXXFLAGS)
     3562 TEMPLATE_VBOXMAINDLL_LDFLAGS  = -fPIC $(TEMPLATE_VBOXMAINEXE_LDFLAGS)
    35373563endif
    35383564TEMPLATE_VBOXMAINDLL_LDFLAGS.darwin = $(filter-out -bind_at_load,$(TEMPLATE_VBOXMAINEXE_LDFLAGS.darwin)) \
     
    36113637TEMPLATE_VBOXMAINCLIENTDLL              = VBox MAIN Client (shared library)
    36123638TEMPLATE_VBOXMAINCLIENTDLL_EXTENDS      = VBOXMAINCLIENTEXE
    3613 ifeq ($(filter-out solaris.x86 %.amd64 %.sparc32 %.sparc64,$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),) ## TODO: cleanup!
    3614  ifneq ($(KBUILD_TARGET),win)
    3615   TEMPLATE_VBOXMAINCLIENTDLL_DEFS       = PIC $(TEMPLATE_VBOXMAINCLIENTEXE_DEFS)
    3616   TEMPLATE_VBOXMAINCLIENTDLL_CFLAGS     = -fPIC $(TEMPLATE_VBOXMAINCLIENTEXE_CFLAGS)
    3617   TEMPLATE_VBOXMAINCLIENTDLL_CXXFLAGS   = -fPIC $(TEMPLATE_VBOXMAINCLIENTEXE_CXXFLAGS)
    3618   TEMPLATE_VBOXMAINCLIENTDLL_LDFLAGS    = -fPIC $(TEMPLATE_VBOXMAINCLIENTEXE_LDFLAGS)
    3619  endif
     3639ifn1of ($(KBUILD_TARGET), darwin os2 win)
     3640 TEMPLATE_VBOXMAINCLIENTDLL_DEFS        = PIC $(TEMPLATE_VBOXMAINCLIENTEXE_DEFS)
     3641 TEMPLATE_VBOXMAINCLIENTDLL_CFLAGS      = -fPIC $(TEMPLATE_VBOXMAINCLIENTEXE_CFLAGS)
     3642 TEMPLATE_VBOXMAINCLIENTDLL_CXXFLAGS    = -fPIC $(TEMPLATE_VBOXMAINCLIENTEXE_CXXFLAGS)
     3643 TEMPLATE_VBOXMAINCLIENTDLL_LDFLAGS     = -fPIC $(TEMPLATE_VBOXMAINCLIENTEXE_LDFLAGS)
    36203644endif
    36213645TEMPLATE_VBOXMAINCLIENTDLL_LDFLAGS.darwin = $(filter-out -bind_at_load,$(TEMPLATE_VBOXMAINCLIENTEXE_LDFLAGS.darwin))
     
    36653689        $(LIB_RUNTIME) \
    36663690        $(LIB_VMM)
    3667  endif
    3668  if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), freebsd.x86 linux.x86) # Undo the PIC avoidance in VBOXR3DLLNOXCPT/VBOXR3
    3669   TEMPLATE_VBoxR3ExtPack_DEFS      += PIC
    3670   ifdef TEMPLATE_VBoxR3ExtPack_CXXFLAGS
    3671    TEMPLATE_VBoxR3ExtPack_CFLAGS   += -fPIC
    3672   else
    3673    TEMPLATE_VBoxR3ExtPack_CFLAGS   += $(TEMPLATE_$(TEMPLATE_VBoxR3ExtPack_EXTENDS)_CFLAGS) -fPIC
    3674   endif
    3675   ifdef TEMPLATE_VBoxR3ExtPack_CXXFLAGS
    3676    TEMPLATE_VBoxR3ExtPack_CXXFLAGS += -fPIC
    3677   else
    3678    TEMPLATE_VBoxR3ExtPack_CXXFLAGS += $(TEMPLATE_$(TEMPLATE_VBoxR3ExtPack_EXTENDS)_CXXFLAGS) -fPIC
    3679   endif
    3680   ifdef TEMPLATE_VBoxR3ExtPack_LDFLAGS
    3681    TEMPLATE_VBoxR3ExtPack_LDFLAGS  += -fPIC
    3682   else
    3683   TEMPLATE_VBoxR3ExtPack_CFLAGS     = $(TEMPLATE_$(TEMPLATE_VBoxR3ExtPack_EXTENDS)_LDFLAGS) -fPIC
    3684   endif
    36853691 endif
    36863692
     
    39753981        -compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
    39763982 endif
    3977  ifeq ($(filter-out solaris.x86 %.amd64 %.sparc32 %.sparc64,$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),) ## TODO: cleanup!
    3978   ifneq ($(KBUILD_TARGET),win)
     3983 ifn1of ($(KBUILD_TARGET), darwin os2 win)
    39793984   TEMPLATE_VBOXQT4GUI_DEFS     = PIC $(TEMPLATE_VBOXQT4GUIEXE_DEFS)
    39803985   TEMPLATE_VBOXQT4GUI_CFLAGS   = -fPIC $(TEMPLATE_VBOXQT4GUIEXE_CFLAGS)
    39813986   TEMPLATE_VBOXQT4GUI_CXXFLAGS = -fPIC $(TEMPLATE_VBOXQT4GUIEXE_CXXFLAGS)
    39823987   TEMPLATE_VBOXQT4GUI_LDFLAGS  = -fPIC $(TEMPLATE_VBOXQT4GUIEXE_LDFLAGS)
    3983   endif
    39843988 endif
    39853989
     
    42584262TEMPLATE_VBOXGUESTR3DLL_EXTENDS   = VBOXGUESTR3EXE
    42594263## @todo add a INSTFUN that separates dlls and libs.
    4260 ifn1of ($(KBUILD_TARGET), os2 win)
     4264ifn1of ($(KBUILD_TARGET), darwin os2 win)
    42614265 TEMPLATE_VBOXGUESTR3DLL_DEFS     = $(TEMPLATE_VBOXGUESTR3EXE_DEFS) PIC
    42624266 TEMPLATE_VBOXGUESTR3DLL_CFLAGS   = $(TEMPLATE_VBOXGUESTR3EXE_CFLAGS) -fPIC
     
    42934297TEMPLATE_VBOXGUESTR3NPDLL_EXTENDS   = VBOXGUESTR3NPEXE
    42944298## @todo add a INSTFUN that separates dlls and libs.
    4295 ifn1of ($(KBUILD_TARGET), os2 win)
     4299ifn1of ($(KBUILD_TARGET), darwin os2 win)
    42964300 TEMPLATE_VBOXGUESTR3NPDLL_DEFS     = $(TEMPLATE_VBOXGUESTR3NPEXE_DEFS) PIC
    42974301 TEMPLATE_VBOXGUESTR3NPDLL_CFLAGS   = $(TEMPLATE_VBOXGUESTR3NPEXE_CFLAGS) -fPIC
     
    43074311TEMPLATE_VBOXGUESTR3NPLIB_INST      = $(INST_ADDITIONS_LIB)
    43084312## @todo r=bird: Fix the *R3Mini template to VBOXGUESTR3DLL and remove this hack.
    4309 ifeq ($(filter-out solaris.x86 %.amd64 %.sparc32 %.sparc64,$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),) ## TODO: cleanup!
    4310  ifn1of ($(KBUILD_TARGET), darwin win)
     4313ifeq ($(filter-out solaris.x86 %.amd64 %.sparc32 %.sparc64,$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),) ## TODO: Remove these checks!
     4314 ifn1of ($(KBUILD_TARGET), darwin os2 win)
    43114315  TEMPLATE_VBOXGUESTR3NPLIB_DEFS     = $(TEMPLATE_VBOXGUESTR3NPEXE_DEFS) PIC
    43124316  TEMPLATE_VBOXGUESTR3NPLIB_CFLAGS   = $(TEMPLATE_VBOXGUESTR3NPEXE_CFLAGS) -fPIC
  • trunk/src/VBox/Devices/Makefile.kmk

    r35515 r35572  
    4848 # VBoxDDU (shared object)
    4949 #
    50  VBoxDDU_TEMPLATE         = VBOXR3
     50 VBoxDDU_TEMPLATE         = VBoxR3DllWarnNoPic
    5151 VBoxDDU_NAME             = $(basename $(notdir $(LIB_DDU)))
    5252 VBoxDDU_INST.darwin      = $(INST_DLL) $(INST_TESTCASE)
     
    113113 # VBoxDD (shared object)
    114114 #
    115  VBoxDD_TEMPLATE         = VBOXR3
     115 VBoxDD_TEMPLATE         = VBoxR3DllWarnNoPic
    116116 VBoxDD_SDKS.win         = WINPSDK DXSDK W2K3DDK VBOX_NTDLL
    117117 VBoxDD_INCS             = build
     
    223223 # VBoxDD2 (shared object)
    224224 #
    225  VBoxDD2_TEMPLATE        = VBOXR3
     225 VBoxDD2_TEMPLATE        = VBoxR3DllWarnNoPic
    226226 VBoxDD2_DEFS            = IN_VBOXDD2
    227227 VBoxDD2_INCS           := \
     
    255255 # DevicesR3 (library)
    256256 #
    257  DevicesR3_TEMPLATE      = VBOXR3
     257 DevicesR3_TEMPLATE      = VBoxR3DllWarnNoPic
    258258 DevicesR3_SDKS.win      = WINPSDK W2K3DDK
    259259 DevicesR3_DEFS.darwin.x86 = VBOX_WITH_2X_4GB_ADDR_SPACE
     
    777777 Drivers_TEMPLATE   = VBOXR3NP
    778778 else
    779  Drivers_TEMPLATE   = VBOXR3
     779 Drivers_TEMPLATE   = VBoxR3DllWarnNoPic
    780780 endif
    781781 Drivers_SDKS.win   = WINPSDK W2K3DDK
  • trunk/src/VBox/Runtime/Makefile.kmk

    r35463 r35572  
    11601160# VBoxRT - Shared Object / DLL version.
    11611161#
    1162 VBoxRT_TEMPLATE                = VBoxR3Dll
     1162VBoxRT_TEMPLATE                = VBoxR3DllNoPic
    11631163VBoxRT_SDKS                    = VBOX_OPENSSL VBOX_LIBXML2 VBOX_BOOST
    11641164ifdef VBOX_WITH_LIBCURL
  • trunk/src/VBox/VMM/Makefile.kmk

    r35468 r35572  
    5252endif
    5353
    54 VMMR3_TEMPLATE  = VBoxR3Dll
     54VMMR3_TEMPLATE  = VBoxR3DllNoPic
    5555
    5656VMMR3_DEFS      = IN_VMM_R3 IN_DIS IN_GMM_R3 IN_DBG $(VMM_COMMON_DEFS) VBOX_SVN_REV=$(VBOX_SVN_REV)
     
    216216DLLS += VBoxVMM
    217217endif
    218 VBoxVMM_TEMPLATE = VBoxR3Dll
     218VBoxVMM_TEMPLATE = VBoxR3DllNoPic
    219219VBoxVMM_DEFS = $(VMMR3_DEFS)
    220220VBoxVMM_DEFS.$(KBUILD_TARGET) = $(VMMR3_DEFS.$(KBUILD_TARGET))
  • trunk/src/recompiler/Makefile-old.kmk

    r35340 r35572  
    202202#
    203203DLLS += VBoxREMWrapper
    204 VBoxREMWrapper_TEMPLATE    = VBOXR3
     204VBoxREMWrapper_TEMPLATE    = VBoxR3DllWarnNoPic
    205205VBoxREMWrapper_NAME        = VBoxREM
    206206VBoxREMWrapper_DEFS        = IN_REM_R3
     
    257257#
    258258IMPORT_LIBS += VBoxREMImp
    259 VBoxREMImp_TEMPLATE        = VBOXR3
     259VBoxREMImp_TEMPLATE        = VBoxR3Dll
    260260 ifn1of ($(KBUILD_TARGET), os2 win)
    261261VBoxREMImp_NAME            = VBoxREM
  • trunk/src/recompiler/Makefile.kmk

    r35380 r35572  
    178178 #
    179179 DLLS += VBoxREMWrapper
    180  VBoxREMWrapper_TEMPLATE   = VBOXR3
     180 VBoxREMWrapper_TEMPLATE   = VBoxR3DllWarnNoPic
    181181 VBoxREMWrapper_NAME       = VBoxREM
    182182 VBoxREMWrapper_DEFS       = IN_REM_R3
     
    213213#
    214214IMPORT_LIBS += VBoxREMImp
    215 VBoxREMImp_TEMPLATE        = VBOXR3
     215VBoxREMImp_TEMPLATE        = VBoxR3Dll
    216216 ifn1of ($(KBUILD_TARGET), os2 win)
    217217VBoxREMImp_NAME            = VBoxREM
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