cvs commit: patches/gcc gcc-3.3.3-autopie-x86-3.patch gcc-3.3.3-autopie-x86-2.patch

jim at linuxfromscratch.org jim at linuxfromscratch.org
Fri Apr 2 08:19:32 PST 2004


jim         04/04/02 09:19:32

  Added:       gcc      gcc-3.3.3-autopie-x86-3.patch
  Removed:     gcc      gcc-3.3.3-autopie-x86-2.patch
  Log:
  Added: gcc-3.3.3-autopie-x86-3.patch
  
  Revision  Changes    Path
  1.1                  patches/gcc/gcc-3.3.3-autopie-x86-3.patch
  
  Index: gcc-3.3.3-autopie-x86-3.patch
  ===================================================================
  Submitted By: Robert Connolly <cendres at videotron dot ca> (ashes)
  Date: 2004-03-29
  Initial Package Version: 3.3.3
  Origin: none
  Description: This patch must be used after the gcc pie and ssp patches.
  This patch will enable and -pie by default.
  And the version string was changed in gcc/version.c
  http://www.linuxfromscratch.org/hlfs/
  
  diff -Naur gcc-3.3.3.pie-ssp/gcc/config/i386/linux.h gcc-3.3.3.autopie-ssp/gcc/config/i386/linux.h
  --- gcc-3.3.3.pie-ssp/gcc/config/i386/linux.h	2003-11-14 06:46:12.000000000 +0000
  +++ gcc-3.3.3.autopie-ssp/gcc/config/i386/linux.h	2004-02-25 17:25:01.000000000 +0000
  @@ -94,11 +94,12 @@
   #ifdef USE_GNULIBC_1
   #define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
   #else
  -#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
  +#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} \
  +%{!D__KERNEL__:%{!static:%{!no-pie:-D__PIC__ -DPIC}}}"
   #endif
   
   #undef CC1_SPEC
  -#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
  +#define CC1_SPEC "%(cc1_cpu) %{profile:-p} %{!D__KERNEL__:%{!no-pie:%{!static: -fPIC}}}"
   
   /* Provide a LINK_SPEC appropriate for Linux.  Here we provide support
      for the special GCC options -static and -shared, which allow us to
  diff -Naur gcc-3.3.3.pie-ssp/gcc/config/linux.h gcc-3.3.3.autopie-ssp/gcc/config/linux.h
  --- gcc-3.3.3.pie-ssp/gcc/config/linux.h	2004-02-25 17:17:24.000000000 +0000
  +++ gcc-3.3.3.autopie-ssp/gcc/config/linux.h	2004-02-25 17:25:01.000000000 +0000
  @@ -56,12 +56,11 @@
   #else
   #if defined HAVE_LD_PIE
   #define STARTFILE_SPEC \
  -  "%{!shared: \
  -     %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
  -		       %{!p:%{profile:gcrt1.o%s} \
  -			 %{!profile:%{pie:Scrt1.o%s}%{!pie:crt1.o%s}}}}} \
  -   crti.o%s %{static:crtbeginT.o%s}\
  -   %{!static:%{!shared:%{!pie:crtbegin.o%s}} %{shared|pie:crtbeginS.o%s}}"
  +  "%{!shared: %{pg: gcrt1.o%s} %{!pg: %{p: gcrt1.o%s} \
  +%{!p: %{profile: gcrt1.o%s} %{!profile: %{!D__KERNEL__:%{!static:%{!no-pie: Scrt1.o%s}}} \
  +%{static:crt1.o%s} %{!D__KERNEL__:%{!static:%{no-pie: crt1.o%s}}}} }}} crti.o%s \
  +%{static:crtbeginT.o%s} %{!static:%{!shared:%{no-pie:crtbegin.o%s}}} \
  +%{!D__KERNEL__:%{!static:%{!no-pie:crtbeginS.o%s}}}"
   #else
   #define STARTFILE_SPEC \
     "%{!shared: \
  @@ -81,7 +80,8 @@
   
   #undef	ENDFILE_SPEC
   #define ENDFILE_SPEC \
  -  "%{!shared:%{!pie:crtend.o%s}} %{shared|pie:crtendS.o%s} crtn.o%s"
  +  "%{static:crtend.o%s} %{!static:%{no-pie:crtend.o%s}} \
  +%{!D__KERNEL__:%{!static:%{!no-pie:crtendS.o%s}}} crtn.o%s"
   
   /* This is for -profile to use -lc_p instead of -lc.  */
   #ifndef CC1_SPEC
  diff -Naur gcc-3.3.3.pie-ssp/gcc/gcc.c gcc-3.3.3.autopie-ssp/gcc/gcc.c
  --- gcc-3.3.3.pie-ssp/gcc/gcc.c	2004-02-25 17:17:24.000000000 +0000
  +++ gcc-3.3.3.autopie-ssp/gcc/gcc.c	2004-02-25 17:25:01.000000000 +0000
  @@ -641,7 +641,8 @@
   
   #ifndef LINK_PIE_SPEC
   #ifdef HAVE_LD_PIE
  -#define LINK_PIE_SPEC "%{pie:-pie} "
  +#define LINK_PIE_SPEC "%{!D__KERNEL__:%{!no-pie: %{!static: %{!shared: %{!Bshareable: \
  +%{!i: %{!r: -pie -z combreloc -z now} } } } } } } "
   #else
   #define LINK_PIE_SPEC "%{pie:} "
   #endif
  diff -Naur gcc-3.3.3.pie-ssp/gcc/version.c gcc-3.3.3.autopie-ssp/gcc/version.c
  --- gcc-3.3.3.pie-ssp/gcc/version.c	2004-02-25 17:18:17.000000000 +0000
  +++ gcc-3.3.3.autopie-ssp/gcc/version.c	2004-02-25 17:25:01.000000000 +0000
  @@ -6,7 +6,7 @@
      please modify this string to indicate that, e.g. by putting your
      organization's name in parentheses at the end of the string.  */
   
  -const char version_string[] = "3.3.3 (ssp)";
  +const char version_string[] = "3.3.3 (pie - ssp)";
   
   /* This is the location of the online document giving instructions for
      reporting bugs.  If you distribute a modified version of GCC,
  
  
  



More information about the patches mailing list