diff options
author | Mike Frysinger <vapier@gentoo.org> | 2012-05-11 08:47:47 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2012-05-11 08:47:47 +0000 |
commit | fa31a377f4ccb7f0b9e307f0e2d3e4afce2e1747 (patch) | |
tree | fc21e642be7c2ad1c48ab3d555220c3bc5dda69d /4.5.1 | |
parent | add fix from upstream (pr52408) for 64bit code on hppa #382075 by Jeroen Roovers (diff) | |
download | gcc-patches-fa31a377f4ccb7f0b9e307f0e2d3e4afce2e1747.tar.gz gcc-patches-fa31a377f4ccb7f0b9e307f0e2d3e4afce2e1747.tar.bz2 gcc-patches-fa31a377f4ccb7f0b9e307f0e2d3e4afce2e1747.zip |
add fix by Alexis Ballier for PIE on FreeBSD systems #415185
Diffstat (limited to '4.5.1')
-rw-r--r-- | 4.5.1/gentoo/92_all_freebsd-pie.patch | 71 | ||||
-rw-r--r-- | 4.5.1/gentoo/README.history | 1 |
2 files changed, 72 insertions, 0 deletions
diff --git a/4.5.1/gentoo/92_all_freebsd-pie.patch b/4.5.1/gentoo/92_all_freebsd-pie.patch new file mode 100644 index 0000000..4905db7 --- /dev/null +++ b/4.5.1/gentoo/92_all_freebsd-pie.patch @@ -0,0 +1,71 @@ +https://bugs.gentoo.org/415185 +http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00555.html + +From: Alexis Ballier <aballier@gentoo.org> +To: gcc-patches@gcc.gnu.org +Cc: Alexis Ballier <aballier@gentoo.org> +Date: Tue, 8 May 2012 09:53:43 -0400 +Subject: [PATCH] gcc/config/freebsd-spec.h: Fix building PIE executables. Link them with crt{begin,end}S.o and Scrt1.o which are PIC instead of crt{begin,end}.o and crt1.o which are not. Spec synced from gnu-user.h. + +gcc/config/i386/freebsd.h: Likewise. +--- + gcc/config/freebsd-spec.h | 9 +++------ + gcc/config/i386/freebsd.h | 9 +++------ + 2 files changed, 6 insertions(+), 12 deletions(-) + +diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h +index 770a3d1..2808582 100644 +--- a/gcc/config/freebsd-spec.h ++++ b/gcc/config/freebsd-spec.h +@@ -64,11 +64,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + before entering `main'. */ + + #define FBSD_STARTFILE_SPEC \ +- "%{!shared: \ +- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ +- %{!p:%{profile:gcrt1.o%s} \ +- %{!profile:crt1.o%s}}}} \ +- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" ++ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ ++ crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}" + + /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on + the magical crtend.o file (see crtstuff.c) which provides part of +@@ -77,7 +74,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + `crtn.o'. */ + + #define FBSD_ENDFILE_SPEC \ +- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" ++ "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" + + /* Provide a LIB_SPEC appropriate for FreeBSD as configured and as + required by the user-land thread model. Before __FreeBSD_version +diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h +index 649274d..dd69e43 100644 +--- a/gcc/config/i386/freebsd.h ++++ b/gcc/config/i386/freebsd.h +@@ -67,11 +67,8 @@ along with GCC; see the file COPYING3. If not see + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC \ +- "%{!shared: \ +- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ +- %{!p:%{profile:gcrt1.o%s} \ +- %{!profile:crt1.o%s}}}} \ +- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" ++ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ ++ crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}" + + /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on + the magical crtend.o file (see crtstuff.c) which provides part of +@@ -81,7 +78,7 @@ along with GCC; see the file COPYING3. If not see + + #undef ENDFILE_SPEC + #define ENDFILE_SPEC \ +- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" ++ "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" + + /* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support + for the special GCC options -static and -shared, which allow us to +-- +1.7.8.6 diff --git a/4.5.1/gentoo/README.history b/4.5.1/gentoo/README.history index bc92c5c..7a1263d 100644 --- a/4.5.1/gentoo/README.history +++ b/4.5.1/gentoo/README.history @@ -3,6 +3,7 @@ + 30_all_gcc-4.5-ppc-msingle-pic-base.patch + 31_all_gcc-4.4-ppc-fpic-mrelocatable.patch + 33_all_armhf.patch + + 92_all_freebsd-pie.patch 1.4 29 Nov 2010 U 90_all_gcc-4.5-graphite-ICE.patch |