diff options
Diffstat (limited to 'gcc-4.5.0/piepatch/35_all_gcc45_config_crtbegints.patch')
-rw-r--r-- | gcc-4.5.0/piepatch/35_all_gcc45_config_crtbegints.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc-4.5.0/piepatch/35_all_gcc45_config_crtbegints.patch b/gcc-4.5.0/piepatch/35_all_gcc45_config_crtbegints.patch new file mode 100644 index 0000000..f1e6532 --- /dev/null +++ b/gcc-4.5.0/piepatch/35_all_gcc45_config_crtbegints.patch @@ -0,0 +1,36 @@ +2009-09-25 Magnus Granberg <zorry@ume.nu> + + * gcc/config/linux.h If ENABLE_CRTBEGINTS, -static and -pie use crtbegineTS.o. + * gcc/config/rs6000/sysv4.h If ENABLE_CRTBEGINTS, -static and -pie use crtbegineTS.o. + +--- gcc/config/linux.h 2009-04-10 01:23:07.000000000 +0200 ++++ gcc/config/linux.h 2009-09-08 04:08:06.000000000 +0200 +@@ -43,7 +43,11 @@ + object constructed before entering `main'. */ + + #undef STARTFILE_SPEC +-#if defined HAVE_LD_PIE ++#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINTS) ++#define STARTFILE_SPEC \ ++ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s \ ++ %{static:%{pie:crtbeginTS.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}" ++#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINTS) + #define 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}" +--- gcc/config/rs6000/sysv4.h 2009-04-10 01:23:07.000000000 +0200 ++++ 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_CRTBEGINTS) ++#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:crtbeginTS.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}" ++#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINTS) + #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} \ |