On Sat, 11 Jan 2014 15:06:19 -0500, Brad Smith wrote: > Here is a diff to enable PIE by default with the GCC 4.6 / 4.8 ports, > but while there I noticed alpha was missed for 4.6 and 4.8 has PIE > enabled for powerpc but PIE support hasn't been enabled by default > yet so disable it for now. > > Stuart, please check this and put it into a bulk build.
I already sent a diff to sthen@ (also switching gfortran and g77), but he wanted to wait until most of the other PIE fallout on i386 is fixed, so please hold off that part for now. The alpha/powerpc part is an oversight though, so ok. > Index: 4.6/Makefile > =================================================================== > RCS file: /home/cvs/ports/lang/gcc/4.6/Makefile,v > retrieving revision 1.66 > diff -u -p -u -p -r1.66 Makefile > --- 4.6/Makefile 25 Nov 2013 14:16:23 -0000 1.66 > +++ 4.6/Makefile 11 Jan 2014 19:26:44 -0000 > @@ -24,14 +24,14 @@ PKGNAME-ada = gnat-${FULL_PKGVERSION} > PKGNAME-go = gccgo-${FULL_PKGVERSION} > PKGSPEC-main = gcc->=4.6,<4.7 > > -REVISION-main = 4 > -REVISION-c++ = 1 > -#REVISION-estdc = > -REVISION-f95 = 1 > -REVISION-java = 1 > -REVISION-objc = 0 > -REVISION-ada = 3 > -REVISION-go = 1 > +REVISION-main = 5 > +REVISION-c++ = 2 > +REVISION-estdc = 0 > +REVISION-f95 = 2 > +REVISION-java = 2 > +REVISION-objc = 1 > +REVISION-ada = 4 > +REVISION-go = 2 > > SHARED_LIBS = estdc++ 14.0 \ > gfortran 3.0 \ > Index: 4.6/patches/patch-gcc_config_gcc > =================================================================== > RCS file: /home/cvs/ports/lang/gcc/4.6/patches/patch-gcc_config_gcc,v > retrieving revision 1.7 > diff -u -p -u -p -r1.7 patch-gcc_config_gcc > --- 4.6/patches/patch-gcc_config_gcc 7 Jun 2013 07:54:23 -0000 1.7 > +++ 4.6/patches/patch-gcc_config_gcc 11 Jan 2014 19:43:36 -0000 > @@ -1,6 +1,6 @@ > $OpenBSD: patch-gcc_config_gcc,v 1.7 2013/06/07 07:54:23 pascal Exp $ > ---- gcc/config.gcc.orig Wed Mar 6 18:40:07 2013 > -+++ gcc/config.gcc Sat Apr 13 16:20:31 2013 > +--- gcc/config.gcc.orig Wed Mar 6 12:40:07 2013 > ++++ gcc/config.gcc Sat Jan 11 14:42:08 2014 > @@ -668,6 +668,14 @@ case ${target} in > *-*-openbsd2.*|*-*-openbsd3.[012]) > tm_defines="${tm_defines} HAS_LIBC_R=1" ;; > @@ -16,6 +16,15 @@ $OpenBSD: patch-gcc_config_gcc,v 1.7 201 > ;; > *-*-rtems*) > case ${enable_threads} in > +@@ -741,7 +749,7 @@ alpha*-*-netbsd*) > + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee" > + ;; > + alpha*-*-openbsd*) > +- tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME > OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT" > ++ tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME > OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT PIE_DEFAULT=2" > + tm_file="alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h > alpha/openbsd.h openbsd-libpthread.h" > + extra_options="${extra_options} openbsd.opt alpha/elf.opt" > + # default x-alpha is only appropriate for dec-osf. > @@ -1057,10 +1065,14 @@ hppa*-*-linux*) > tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" > fi > @@ -35,7 +44,14 @@ $OpenBSD: patch-gcc_config_gcc,v 1.7 201 > hppa[12]*-*-hpux10*) > case ${target} in > hppa1.1-*-* | hppa2*-*-*) > -@@ -1254,6 +1266,12 @@ i[34567]86-*-openbsd*) > +@@ -1248,12 +1260,19 @@ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) > + use_collect2=yes > + ;; > + i[34567]86-*-openbsd*) > ++ tm_defines="${tm_defines} PIE_DEFAULT=1" > + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h" > + tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h > i386/openbsdelf.h" > + extra_options="${extra_options} openbsd.opt" > gas=yes > gnu_ld=yes > ;; > @@ -48,7 +64,7 @@ $OpenBSD: patch-gcc_config_gcc,v 1.7 201 > i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | > i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | > i[34567]86-*-kopensolaris*-gnu) > # Intel 80386's running GNU/* > # with ELF format using glibc 2 > -@@ -1914,14 +1932,15 @@ mips*-*-linux*) # Linux > MIPS, either endian. > +@@ -1914,14 +1933,15 @@ mips*-*-linux*) # Linux > MIPS, either endian. > test x$with_llsc != x || with_llsc=yes > ;; > mips*-*-openbsd*) > @@ -69,7 +85,7 @@ $OpenBSD: patch-gcc_config_gcc,v 1.7 201 > esac > ;; > mips*-sde-elf*) > -@@ -2061,10 +2080,11 @@ picochip-*) > +@@ -2061,10 +2081,11 @@ picochip-*) > tmake_file="picochip/t-picochip t-pnt16-warn" > ;; > # port not yet contributed > @@ -85,7 +101,7 @@ $OpenBSD: patch-gcc_config_gcc,v 1.7 201 > powerpc-*-darwin*) > extra_options="${extra_options} rs6000/darwin.opt" > extra_parts="crt2.o" > -@@ -2665,6 +2685,7 @@ sparc64-*-netbsd*) > +@@ -2665,6 +2686,7 @@ sparc64-*-netbsd*) > tmake_file="${tmake_file} sparc/t-netbsd64" > ;; > sparc64-*-openbsd*) > @@ -93,7 +109,7 @@ $OpenBSD: patch-gcc_config_gcc,v 1.7 201 > tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h > sparc/sp64-elf.h" > tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h > sparc/openbsd64.h" > extra_options="${extra_options} openbsd.opt" > -@@ -2826,6 +2847,12 @@ case ${target} in > +@@ -2826,6 +2848,12 @@ case ${target} in > else > arch=i386 > fi > Index: 4.8/Makefile > =================================================================== > RCS file: /home/cvs/ports/lang/gcc/4.8/Makefile,v > retrieving revision 1.24 > diff -u -p -u -p -r1.24 Makefile > --- 4.8/Makefile 3 Dec 2013 10:38:52 -0000 1.24 > +++ 4.8/Makefile 11 Jan 2014 19:45:33 -0000 > @@ -28,6 +28,15 @@ PKGNAME-ada = gnat-${FULL_PKGVERSION} > #PKGNAME-go = gccgo-${FULL_PKGVERSION} > PKGSPEC-main = gcc->=4.8,<4.9 > > +REVISION-main = 0 > +REVISION-c++ = 0 > +REVISION-estdc = 0 > +REVISION-f95 = 0 > +REVISION-java = 0 > +REVISION-objc = 0 > +REVISION-ada = 0 > +#REVISION-go = > + > SHARED_LIBS = estdc++ 16.0 \ > gfortran 5.0 \ > gcj 3.0 \ > Index: 4.8/patches/patch-gcc_config_gcc > =================================================================== > RCS file: /home/cvs/ports/lang/gcc/4.8/patches/patch-gcc_config_gcc,v > retrieving revision 1.2 > diff -u -p -u -p -r1.2 patch-gcc_config_gcc > --- 4.8/patches/patch-gcc_config_gcc 2 Dec 2013 22:34:55 -0000 1.2 > +++ 4.8/patches/patch-gcc_config_gcc 11 Jan 2014 20:02:13 -0000 > @@ -1,6 +1,6 @@ > $OpenBSD: patch-gcc_config_gcc,v 1.2 2013/12/02 22:34:55 pascal Exp $ > ---- gcc/config.gcc.orig Thu Oct 3 02:47:24 2013 > -+++ gcc/config.gcc Wed Oct 16 18:56:48 2013 > +--- gcc/config.gcc.orig Wed Oct 2 20:47:24 2013 > ++++ gcc/config.gcc Sat Jan 11 15:00:04 2014 > @@ -712,6 +712,14 @@ case ${target} in > default_use_cxa_atexit=yes > ;; > @@ -33,7 +33,15 @@ $OpenBSD: patch-gcc_config_gcc,v 1.2 201 > tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-stdint.h > openbsd-libpthread.h \ > pa/pa-openbsd.h pa/pa32-regs.h pa/pa32-openbsd.h" > tmake_file="${tmake_file} pa/t-openbsd" > -@@ -1252,6 +1261,7 @@ i[34567]86-*-openbsd*) > +@@ -1245,6 +1254,7 @@ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) > + use_collect2=yes > + ;; > + i[34567]86-*-openbsd*) > ++ tm_defines="${tm_defines} PIE_DEFAULT=1" > + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h" > + tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h > i386/openbsdelf.h" > + extra_options="${extra_options} openbsd.opt" > +@@ -1252,6 +1262,7 @@ i[34567]86-*-openbsd*) > gnu_ld=yes > ;; > x86_64-*-openbsd*) > @@ -41,7 +49,7 @@ $OpenBSD: patch-gcc_config_gcc,v 1.2 201 > tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h" > tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h > i386/x86-64.h i386/openbsdelf.h" > extra_options="${extra_options} openbsd.opt" > -@@ -1973,11 +1983,12 @@ picochip-*) > +@@ -1973,11 +1984,11 @@ picochip-*) > use_gcc_stdint=wrap > tmake_file="picochip/t-picochip t-pnt16-warn" > ;; > @@ -51,7 +59,6 @@ $OpenBSD: patch-gcc_config_gcc,v 1.2 201 > -# extra_headers= > -# ;; > +powerpc-*-openbsd*) > -+ tm_defines="${tm_defines} PIE_DEFAULT=2" > + tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-libpthread.h > freebsd-spec.h rs6000/sysv4.h rs6000/openbsd.h" > + tmake_file="${tmake_file} rs6000/t-openbsd" > + extra_options="${extra_options} rs6000/sysv4.opt openbsd.opt" > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > >