17dae7d98c
Make it possible to build old kernels with gcc4 for armv7 and aarch64. The packages have been generated with (as usually): $ pmbootstrap aportgen gcc4-aarch64 gcc4-armv7 [ci:skip-build]: I have tested that this builds locally. Fixes #193.
40 lines
1.9 KiB
Diff
40 lines
1.9 KiB
Diff
2014-04-23 Magnus Granberg <zorry@gentoo.org>
|
|
|
|
* gcc/config/gnu-user.h If ENABLE_CRTBEGINP, -static and -pie use crtbegineP.o.
|
|
* gcc/config/rs6000/sysv4.h If ENABLE_CRTBEGINP, -static and -pie use crtbegineP.o.
|
|
|
|
--- a/gcc/config/gnu-user.h 2014-01-02 23:23:26.000000000 +0100
|
|
+++ b/gcc/config/gnu-user.h 2014-04-23 00:55:06.390265454 +0200
|
|
@@ -40,7 +40,15 @@ see the files COPYING3 and COPYING.RUNTI
|
|
provides part of the support for getting C++ file-scope static
|
|
object constructed before entering `main'. */
|
|
|
|
-#if defined HAVE_LD_PIE
|
|
+#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINP)
|
|
+#define GNU_USER_TARGET_STARTFILE_SPEC \
|
|
+ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
|
|
+ crti.o%s %{static:%{pie:crtbeginP.o%s;:crtbeginT.o%s}; \
|
|
+ shared|pie:crtbeginS.o%s;:crtbegin.o%s} \
|
|
+ %{fvtable-verify=none:%s; \
|
|
+ fvtable-verify=preinit:vtv_start_preinit.o%s; \
|
|
+ fvtable-verify=std:vtv_start.o%s}"
|
|
+#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINP)
|
|
#define GNU_USER_TARGET_STARTFILE_SPEC \
|
|
"%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
|
|
crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s} \
|
|
--- a/gcc/config/rs6000/sysv4.h 2009-04-10 01:23:07.000000000 +0200
|
|
+++ b/gcc/config/rs6000/sysv4.h 2009-09-08 04:41:50.000000000 +0200
|
|
@@ -883,7 +883,12 @@
|
|
%{!mnewlib: %{pthread:-lpthread} %{shared:-lc} \
|
|
%{!shared: %{profile:-lc_p} %{!profile:-lc}}}"
|
|
|
|
-#ifdef HAVE_LD_PIE
|
|
+#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINP)
|
|
+#define STARTFILE_LINUX_SPEC "\
|
|
+%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
|
|
+%{mnewlib:ecrti.o%s;:crti.o%s} \
|
|
+%{static:%{pie:crtbeginP.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}"
|
|
+#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINP)
|
|
#define STARTFILE_LINUX_SPEC "\
|
|
%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
|
|
%{mnewlib:ecrti.o%s;:crti.o%s} \
|