1 |
commit: a17d5f501cb5aa729632c90f57854db9828d7e7f |
2 |
Author: Zero_Chaos <zerochaos <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jul 26 19:18:37 2017 +0000 |
4 |
Commit: Richard Farina <zerochaos <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jul 26 19:20:23 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a17d5f50 |
7 |
|
8 |
app-emulation/virtualbox: fix nopie |
9 |
|
10 |
Package-Manager: Portage-2.3.6, Repoman-2.3.3 |
11 |
|
12 |
.../files/050_virtualbox-5.1.24-nopie.patch | 158 +++++++++++++++++++++ |
13 |
app-emulation/virtualbox/virtualbox-5.1.24.ebuild | 1 + |
14 |
2 files changed, 159 insertions(+) |
15 |
|
16 |
diff --git a/app-emulation/virtualbox/files/050_virtualbox-5.1.24-nopie.patch b/app-emulation/virtualbox/files/050_virtualbox-5.1.24-nopie.patch |
17 |
new file mode 100644 |
18 |
index 00000000000..73c377a6c94 |
19 |
--- /dev/null |
20 |
+++ b/app-emulation/virtualbox/files/050_virtualbox-5.1.24-nopie.patch |
21 |
@@ -0,0 +1,158 @@ |
22 |
+diff -Naur VirtualBox-5.1.24/Config.kmk VirtualBox-5.1.24/Config.kmk |
23 |
+--- VirtualBox-5.1.24/Config.kmk 2017-07-26 13:55:27.803972185 -0400 |
24 |
++++ VirtualBox-5.1.24/Config.kmk 2017-07-26 13:53:10.700974328 -0400 |
25 |
+@@ -2601,6 +2601,7 @@ |
26 |
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-overlength-strings?= $(call VBOX_GCC_CHECK_CC,-Wno-overlength-strings,)' |
27 |
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-overloaded-virtual?= $(call VBOX_GCC_CHECK_CXX,-Wno-overloaded-virtual,)' |
28 |
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_fno-stack-protector ?= $(call VBOX_GCC_CHECK_CC,-fno-stack-protector,)' |
29 |
++ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_nopie ?= $(call VBOX_GCC_CHECK_CC,-nopie,)' |
30 |
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_fno-dwarf2-cfi-asm ?= $(call VBOX_GCC_CHECK_CC,-fno-dwarf2-cfi-asm,)' |
31 |
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_m64 ?= $(call VBOX_GCC_CHECK_CC,-m64,)' |
32 |
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_no-pie ?= $(call VBOX_GCC_CHECK_CC,-no-pie,)' |
33 |
+@@ -3843,8 +3844,8 @@ |
34 |
+ |
35 |
+ ifeq ($(VBOX_LDR_FMT32),elf) |
36 |
+ TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC32_TOOL) |
37 |
+- TEMPLATE_VBoxRc_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK) |
38 |
+- TEMPLATE_VBoxRc_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK) |
39 |
++ TEMPLATE_VBoxRc_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK) |
40 |
++ TEMPLATE_VBoxRc_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK) |
41 |
+ ifeq ($(KBUILD_TARGET),solaris) |
42 |
+ TEMPLATE_VBoxRc_LDFLAGS = -r |
43 |
+ else |
44 |
+@@ -3864,8 +3865,8 @@ |
45 |
+ ifeq ($(VBOX_LDR_FMT32),macho) |
46 |
+ TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC_TOOL) |
47 |
+ TEMPLATE_VBoxRc_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) |
48 |
+- TEMPLATE_VBoxRc_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti |
49 |
+- TEMPLATE_VBoxRc_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing |
50 |
++ TEMPLATE_VBoxRc_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti |
51 |
++ TEMPLATE_VBoxRc_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing |
52 |
+ TEMPLATE_VBoxRc_LDFLAGS = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -m32 -nostdlib |
53 |
+ #TEMPLATE_VBoxRc_LDFLAGS.release = -Wl,-S ??? |
54 |
+ endif |
55 |
+@@ -3903,9 +3904,9 @@ |
56 |
+ endif |
57 |
+ |
58 |
+ ifeq ($(VBOX_LDR_FMT32),elf) |
59 |
+- TEMPLATE_VBoxRcExe_CFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CFLAGS)) -O0 |
60 |
+- TEMPLATE_VBoxRcExe_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CXXFLAGS)) -O0 |
61 |
+- TEMPLATE_VBoxRcExe_LDFLAGS = -g |
62 |
++ TEMPLATE_VBoxRcExe_CFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CFLAGS)) -O0 $(VBOX_GCC_nopie) |
63 |
++ TEMPLATE_VBoxRcExe_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CXXFLAGS)) -O0 $(VBOX_GCC_nopie) |
64 |
++ TEMPLATE_VBoxRcExe_LDFLAGS = -g $(VBOX_GCC_nopie) |
65 |
+ TEMPLATE_VBoxRcExe_LDFLAGS.dbgopt = -g |
66 |
+ TEMPLATE_VBoxRcExe_LDFLAGS.strict = -g |
67 |
+ TEMPLATE_VBoxRcExe_LDFLAGS.release = -g |
68 |
+@@ -3984,8 +3985,8 @@ |
69 |
+ |
70 |
+ ifeq ($(VBOX_LDR_FMT),elf) |
71 |
+ TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL) |
72 |
+-TEMPLATE_VBoxR0_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK) |
73 |
+-TEMPLATE_VBoxR0_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK) |
74 |
++TEMPLATE_VBoxR0_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK) |
75 |
++TEMPLATE_VBoxR0_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK) |
76 |
+ TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables -ffreestanding |
77 |
+ TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables |
78 |
+ ifeq ($(KBUILD_TARGET),solaris) |
79 |
+@@ -4018,12 +4019,12 @@ |
80 |
+ TEMPLATE_VBoxR0_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) |
81 |
+ TEMPLATE_VBoxR0_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) \ |
82 |
+ -fno-common -msoft-float -static -fno-rtti -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \ |
83 |
+- -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector) |
84 |
++ -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) |
85 |
+ TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables |
86 |
+ TEMPLATE_VBoxR0_CXXFLAGS.x86 = -m32 |
87 |
+ TEMPLATE_VBoxR0_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) \ |
88 |
+ -fno-common -msoft-float -static -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \ |
89 |
+- -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector) |
90 |
++ -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) |
91 |
+ TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables |
92 |
+ TEMPLATE_VBoxR0_CFLAGS.x86 = -m32 |
93 |
+ TEMPLATE_VBoxR0_LDFLAGS = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -nostdlib |
94 |
+@@ -4259,7 +4260,7 @@ |
95 |
+ -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \ |
96 |
+ -Wimplicit-function-declaration -Werror-implicit-function-declaration \ |
97 |
+ -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \ |
98 |
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ |
99 |
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ |
100 |
+ -nostdinc -std=c99 |
101 |
+ TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 |
102 |
+ TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 --param inline-unit-growth=100 --param large-function-growth=1000 \ |
103 |
+@@ -4268,7 +4269,7 @@ |
104 |
+ TEMPLATE_VBOXR0DRV_CXXFLAGS = -fno-exceptions -fno-rtti \ |
105 |
+ $(VBOX_GCC_WARN) -Wpointer-arith -Winline \ |
106 |
+ -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \ |
107 |
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ |
108 |
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ |
109 |
+ -nostdinc |
110 |
+ TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86) |
111 |
+ TEMPLATE_VBOXR0DRV_CXXFLAGS.amd64 = $(TEMPLATE_VBOXR0DRV_CFLAGS.amd64) |
112 |
+@@ -4341,7 +4342,7 @@ |
113 |
+ -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \ |
114 |
+ -Wimplicit-function-declaration -Werror-implicit-function-declaration \ |
115 |
+ -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \ |
116 |
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ |
117 |
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ |
118 |
+ -nostdinc -std=c99 -msoft-float |
119 |
+ TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 \ |
120 |
+ -mpreferred-stack-boundary=2 -mno-mmx -mno-sse -mno-avx \ |
121 |
+@@ -4353,7 +4354,7 @@ |
122 |
+ TEMPLATE_VBOXR0DRV_CXXFLAGS = -fno-exceptions -fno-rtti \ |
123 |
+ $(VBOX_GCC_WARN) -Wpointer-arith -Winline \ |
124 |
+ -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \ |
125 |
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ |
126 |
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ |
127 |
+ -nostdinc -msoft-float |
128 |
+ TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86) |
129 |
+ TEMPLATE_VBOXR0DRV_CXXFLAGS.amd64 = $(TEMPLATE_VBOXR0DRV_CFLAGS.amd64) |
130 |
+@@ -4394,7 +4395,7 @@ |
131 |
+ TEMPLATE_VBOXR0DRV_LDFLAGS = -shared -no-undefined -dc -dy -lroot -rpath-link /boot/system/develop/lib/x86 --no-add-needed /boot/system/develop/lib/_KERNEL_ --no-add-needed /boot/system/develop/lib/haiku_version_glue.o |
132 |
+ TEMPLATE_VBOXR0DRV_CFLAGS = -fno-PIC \ |
133 |
+ $(VBOX_GCC_WARN) -Wstrict-prototypes $(VBOX_GCC_Wno-pointer-sign) -Wno-sign-compare \ |
134 |
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration |
135 |
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration |
136 |
+ TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -mno-sse -mno-mmx -mno-sse2 -mno-3dnow |
137 |
+ TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow |
138 |
+ TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow \ |
139 |
+@@ -5210,8 +5211,8 @@ |
140 |
+ TEMPLATE_VBoxNoCrtGccLib_TOOL = $(VBOX_GCC_TOOL) |
141 |
+ TEMPLATE_VBoxNoCrtGccLib_ASTOOL = $(VBOX_ASTOOL) |
142 |
+ TEMPLATE_VBoxNoCrtGccLib_ASFLAGS = $(VBOX_ASFLAGS) |
143 |
+- TEMPLATE_VBoxNoCrtGccLib_CFLAGS += $(VBOX_GCC_fno-stack-protector) |
144 |
+- TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS += $(VBOX_GCC_fno-stack-protector) |
145 |
++ TEMPLATE_VBoxNoCrtGccLib_CFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) |
146 |
++ TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) |
147 |
+ ifeq ($(KBUILD_TARGET_ARCH),amd64) |
148 |
+ # in 64-bit mode we'll build a sys-module (VBoxREM2). |
149 |
+ if1of ($(KBUILD_TARGET), darwin solaris) |
150 |
+@@ -6467,8 +6468,8 @@ |
151 |
+ TEMPLATE_VBOXGUESTR3XF86MOD_CFLAGS = $(TEMPLATE_VBOXGUESTR3EXE_CFLAGS) -fno-pie -fno-merge-constants -std=c99 -ffreestanding |
152 |
+ TEMPLATE_VBOXGUESTR3XF86MOD_CXXFLAGS= $(TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS) -fno-pie -fno-merge-constants -ffreestanding |
153 |
+ ifndef VBOX_WITH_COMPATIBLE_LINUX_GUEST_PACKAGE |
154 |
+- TEMPLATE_VBOXGUESTR3XF86MOD_CFLAGS += $(VBOX_GCC_fno-stack-protector) |
155 |
+- TEMPLATE_VBOXGUESTR3XF86MOD_CXXFLAGS += $(VBOX_GCC_fno-stack-protector) |
156 |
++ TEMPLATE_VBOXGUESTR3XF86MOD_CFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) |
157 |
++ TEMPLATE_VBOXGUESTR3XF86MOD_CXXFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) |
158 |
+ endif |
159 |
+ TEMPLATE_VBOXGUESTR3XF86MOD_SYSSUFF = .o |
160 |
+ TEMPLATE_VBOXGUESTR3XF86MOD_LIBS = \ |
161 |
+diff -Naur VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk |
162 |
+--- VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk 2017-07-26 13:55:27.746972186 -0400 |
163 |
++++ VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk 2017-07-26 13:53:10.641974329 -0400 |
164 |
+@@ -132,6 +132,7 @@ |
165 |
+ -W \ |
166 |
+ -Wformat-nonliteral \ |
167 |
+ $(VBOX_GCC_fno-stack-protector) \ |
168 |
++ $(VBOX_GCC_nopie) \ |
169 |
+ $(VBOX_GCC_fno-dwarf2-cfi-asm) \ |
170 |
+ $(VBOX_GCC_Wno-address) |
171 |
+ TEMPLATE_iPxe_ASFLAGS = \ |
172 |
+@@ -155,6 +156,7 @@ |
173 |
+ -W \ |
174 |
+ -Wformat-nonliteral \ |
175 |
+ $(VBOX_GCC_fno-stack-protector) \ |
176 |
++ $(VBOX_GCC_nopie) \ |
177 |
+ $(VBOX_GCC_fno-dwarf2-cfi-asm) \ |
178 |
+ $(VBOX_GCC_Wno-address) \ |
179 |
+ -DASSEMBLY |
180 |
|
181 |
diff --git a/app-emulation/virtualbox/virtualbox-5.1.24.ebuild b/app-emulation/virtualbox/virtualbox-5.1.24.ebuild |
182 |
index cd3a220bcf6..8249f3d55e2 100644 |
183 |
--- a/app-emulation/virtualbox/virtualbox-5.1.24.ebuild |
184 |
+++ b/app-emulation/virtualbox/virtualbox-5.1.24.ebuild |
185 |
@@ -192,6 +192,7 @@ src_prepare() { |
186 |
fi |
187 |
|
188 |
eapply "${WORKDIR}/patches" |
189 |
+ eapply "${FILESDIR}/050_virtualbox-5.1.24-nopie.patch" |
190 |
|
191 |
eapply_user |
192 |
} |