summaryrefslogtreecommitdiff
path: root/sys-devel/gcc/files
diff options
context:
space:
mode:
authorBlackNoxis <steven.darklight@gmail.com>2015-06-15 19:42:26 +0300
committerBlackNoxis <steven.darklight@gmail.com>2015-06-15 19:42:26 +0300
commita74bf6d2b35b2ef3254ba8330eac10d70d5d096f (patch)
tree3e7f271d69b8843feef5bb69158f4666866ce369 /sys-devel/gcc/files
parent75bbf3d6547e6e13e452c06e6a4f07367add5ba1 (diff)
[gcc] adding gentoo gcc.
Diffstat (limited to 'sys-devel/gcc/files')
-rw-r--r--sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch22
-rw-r--r--sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch40
-rw-r--r--sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch40
-rw-r--r--sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch63
-rw-r--r--sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch40
-rw-r--r--sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch64
-rw-r--r--sys-devel/gcc/files/fix_libtool_files.sh39
-rw-r--r--sys-devel/gcc/files/gcc-4.6.2-fix-ICE-on-arm.patch24
-rw-r--r--sys-devel/gcc/files/gcc-4.6.4-fix-ICE-on-arm.patch24
-rw-r--r--sys-devel/gcc/files/gcc-4.6.4-spec-env.patch43
-rw-r--r--sys-devel/gcc/files/gcc-4.8.4-no_instrument_function.patch15
-rw-r--r--sys-devel/gcc/files/gcc-spec-env.patch5
-rw-r--r--sys-devel/gcc/files/mkinfodir233
-rw-r--r--sys-devel/gcc/files/pro-police-docs.patch74
14 files changed, 288 insertions, 438 deletions
diff --git a/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch b/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch
new file mode 100644
index 00000000..507d42f0
--- /dev/null
+++ b/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch
@@ -0,0 +1,22 @@
+--- configure.in.old 2004-06-26 07:01:06.000000000 +0200
++++ configure.in 2004-06-26 07:02:55.000000000 +0200
+@@ -52,8 +52,7 @@
+ host_tools="texinfo byacc flex bison binutils ld gas gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator libtool gettext zip fastjar"
+
+ # libgcj represents the runtime libraries only used by gcj.
+-libgcj="target-libffi \
+- target-boehm-gc \
++libgcj="target-boehm-gc \
+ target-zlib \
+ target-qthreads \
+ target-libjava"
+@@ -66,7 +65,8 @@
+ target-newlib \
+ ${libstdcxx_version} \
+ target-libf2c \
+- ${libgcj}
++ ${libgcj} \
++ target-libffi \
+ target-libobjc"
+
+ # these tools are built using the target libs, and are intended to run only
diff --git a/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch b/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch
new file mode 100644
index 00000000..b5195e4e
--- /dev/null
+++ b/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch
@@ -0,0 +1,40 @@
+diff -ur gcc-3.4.3/libffi/Makefile.in gcc-3.4.3-ffi-fixes/libffi/Makefile.in
+--- gcc-3.4.3/libffi/Makefile.in 2003-11-22 08:41:32.000000000 -0500
++++ gcc-3.4.3-ffi-fixes/libffi/Makefile.in 2004-11-28 17:31:50.000000000 -0500
+@@ -89,7 +89,7 @@
+ libffi_basedir = @libffi_basedir@
+ tool_include_dir = @tool_include_dir@
+ toolexecdir = @toolexecdir@
+-toolexeclibdir = @toolexeclibdir@
++toolexeclibdir = @toolexeclibdir@/@gcc_version@
+
+ AUTOMAKE_OPTIONS = cygnus
+
+diff -ur gcc-3.4.3/libffi/configure gcc-3.4.3-ffi-fixes/libffi/configure
+--- gcc-3.4.3/libffi/configure 2004-05-18 05:08:39.000000000 -0400
++++ gcc-3.4.3-ffi-fixes/libffi/configure 2004-11-28 17:48:19.000000000 -0500
+@@ -3800,8 +3800,8 @@
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
+ else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
++ toolexecdir='$(libdir)/gcc/$(target_alias)'
++ toolexeclibdir='$(libdir)/gcc/$(target_alias)/$(gcc-version)'
+ fi
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+diff -ur gcc-3.4.3/libffi/configure.in gcc-3.4.3-ffi-fixes/libffi/configure.in
+--- gcc-3.4.3/libffi/configure.in 2004-04-27 01:10:19.000000000 -0400
++++ gcc-3.4.3-ffi-fixes/libffi/configure.in 2004-11-28 17:40:30.000000000 -0500
+@@ -225,8 +225,8 @@
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
+ else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
++ toolexecdir='$(libdir)/gcc/$(target_alias)'
++ toolexeclibdir='$(libdir)/gcc/$(target_alias)/$(gcc_version)'
+ fi
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
diff --git a/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch b/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
new file mode 100644
index 00000000..b270a06a
--- /dev/null
+++ b/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
@@ -0,0 +1,40 @@
+--- configure.in.orig 2004-08-03 00:53:36.000000000 +0200
++++ configure.in 2004-08-03 00:52:35.000000000 +0200
+@@ -136,8 +136,7 @@
+ host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
+
+ # libgcj represents the runtime libraries only used by gcj.
+-libgcj="target-libffi \
+- target-boehm-gc \
++libgcj="target-boehm-gc \
+ target-zlib \
+ target-qthreads \
+ target-libjava"
+@@ -150,6 +150,7 @@
+ target-libstdc++-v3 \
+ target-libf2c \
+ ${libgcj} \
++ target-libffi \
+ target-libobjc"
+
+ # these tools are built using the target libraries, and are intended to
+--- configure~ 2004-08-28 02:31:04.000000000 +0200
++++ configure 2004-08-28 10:55:28.000000000 +0200
+@@ -876,8 +876,7 @@
+ host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
+
+ # libgcj represents the runtime libraries only used by gcj.
+-libgcj="target-libffi \
+- target-boehm-gc \
++libgcj="target-boehm-gc \
+ target-zlib \
+ target-qthreads \
+ target-libjava"
+@@ -891,6 +890,7 @@
+ target-libstdc++-v3 \
+ target-libf2c \
+ ${libgcj} \
++ target-libffi \
+ target-libobjc"
+
+ # these tools are built using the target libraries, and are intended to
diff --git a/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch b/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch
new file mode 100644
index 00000000..03895434
--- /dev/null
+++ b/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch
@@ -0,0 +1,63 @@
+Some notes on the 'bootstrap with or without libc headers' debate:
+http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
+http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
+
+--- gcc/config/sh/linux.h
++++ gcc/config/sh/linux.h
+@@ -145,6 +145,7 @@
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
+ #ifdef IN_LIBGCC2
+ #include <signal.h>
+ #include <sys/ucontext.h>
+@@ -295,6 +296,7 @@
+
+ #endif /* defined (__SH5__) */
+ #endif /* IN_LIBGCC2 */
++#endif /* inhibit_libc */
+
+ /* For SH3 and SH4, we use a slot of the unwind frame which correspond
+ to a fake register number 16 as a placeholder for the return address
+--- gcc/config/i386/linux.h
++++ gcc/config/i386/linux.h
+@@ -208,6 +208,7 @@
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
+ #ifdef IN_LIBGCC2
+ /* There's no sys/ucontext.h for some (all?) libc1, so no
+ signal-turned-exceptions for them. There's also no configure-run for
+@@ -272,3 +273,4 @@
+ } while (0)
+ #endif /* not USE_GNULIBC_1 */
+ #endif /* IN_LIBGCC2 */
++#endif /* inhibit_libc */
+--- gcc/config/alpha/linux.h
++++ gcc/config/alpha/linux.h
+@@ -73,6 +73,7 @@
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
+ #ifdef IN_LIBGCC2
+ #include <signal.h>
+ #include <sys/ucontext.h>
+@@ -122,3 +123,4 @@
+ (FS)->retaddr_column = 64; \
+ goto SUCCESS; \
+ } while (0)
++#endif /* inhibit_libc */
+--- gcc/config.gcc
++++ gcc/config.gcc
+@@ -321,7 +321,7 @@
+ need_64bit_hwint=yes
+ ;;
+ # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
+-sh[123456789l]*-*-*)
++sh[123456789lbe]*-*-*)
+ cpu_type=sh
+ need_64bit_hwint=yes
+ ;;
diff --git a/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch
new file mode 100644
index 00000000..523caa48
--- /dev/null
+++ b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch
@@ -0,0 +1,40 @@
+Some notes on the 'bootstrap with or without libc headers' debate:
+http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
+http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
+
+--- gcc/unwind-dw2.c
++++ gcc/unwind-dw2.c
+@@ -253,9 +253,11 @@
+ }
+ #endif
+
++#ifndef inhibit_libc
+ #ifdef MD_UNWIND_SUPPORT
+ #include MD_UNWIND_SUPPORT
+ #endif
++#endif
+
+ /* Extract any interesting information from the CIE for the translation
+ unit F belongs to. Return a pointer to the byte after the augmentation,
+--- gcc/configure
++++ gcc/configure
+@@ -12857,7 +12857,7 @@ then
+ | powerpc*-*-*,powerpc64*-*-*)
+ CROSS="$CROSS -DNATIVE_CROSS" ;;
+ esac
+-elif test "x$TARGET_SYSTEM_ROOT" != x; then
++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
+ SYSTEM_HEADER_DIR=$build_system_header_dir
+ fi
+
+--- gcc/configure.ac
++++ gcc/configure.ac
+@@ -1717,7 +1717,7 @@ then
+ | powerpc*-*-*,powerpc64*-*-*)
+ CROSS="$CROSS -DNATIVE_CROSS" ;;
+ esac
+-elif test "x$TARGET_SYSTEM_ROOT" != x; then
++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
+ SYSTEM_HEADER_DIR=$build_system_header_dir
+ fi
+
diff --git a/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
new file mode 100644
index 00000000..6090d66d
--- /dev/null
+++ b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
@@ -0,0 +1,64 @@
+workaround for lame stack packing on i386 ...
+
+ - build gcc with -Os (crtfastmath.o to be specific)
+ - crtfastmath.o is installed into gcc libdir
+ - run gcc with -ffast-math and get crtfastmath.o linked in
+ - resulting compiled app segfaults due to init code in
+ crtfastmath.o that has mis-aligned structure on stack
+
+http://bugs.gentoo.org/147020
+http://gcc.gnu.org/PR28621
+
+this is supposed to be fixed in current 4.1 branch, but i'm unable to get
+the fix to work so until i can figure out what i'm doing wrong, we'll use
+this workaround for now.
+
+--- gcc-4.1.1/gcc/config/i386/crtfastmath.c
++++ gcc-4.1.1/gcc/config/i386/crtfastmath.c
+@@ -37,6 +37,23 @@
+ #define FXSAVE (1 << 24)
+ #define SSE (1 << 25)
+
++struct
++{
++ unsigned short int cwd;
++ unsigned short int swd;
++ unsigned short int twd;
++ unsigned short int fop;
++ long int fip;
++ long int fcs;
++ long int foo;
++ long int fos;
++ long int mxcsr;
++ long int mxcsr_mask;
++ long int st_space[32];
++ long int xmm_space[32];
++ long int padding[56];
++} __attribute__ ((aligned (16))) fxsave;
++
+ static void __attribute__((constructor))
+ set_fast_math (void)
+ {
+@@ -75,22 +92,6 @@
+ if (edx & FXSAVE)
+ {
+ /* Check if DAZ is available. */
+- struct
+- {
+- unsigned short int cwd;
+- unsigned short int swd;
+- unsigned short int twd;
+- unsigned short int fop;
+- long int fip;
+- long int fcs;
+- long int foo;
+- long int fos;
+- long int mxcsr;
+- long int mxcsr_mask;
+- long int st_space[32];
+- long int xmm_space[32];
+- long int padding[56];
+- } __attribute__ ((aligned (16))) fxsave;
+
+ __builtin_memset (&fxsave, 0, sizeof (fxsave));
+
diff --git a/sys-devel/gcc/files/fix_libtool_files.sh b/sys-devel/gcc/files/fix_libtool_files.sh
index c3a3c61f..0c8a42bd 100644
--- a/sys-devel/gcc/files/fix_libtool_files.sh
+++ b/sys-devel/gcc/files/fix_libtool_files.sh
@@ -1,7 +1,7 @@
-#!/bin/bash
-# Copyright 1999-2007 Gentoo Foundation
+#!/bin/sh
+# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/fix_libtool_files.sh,v 1.14 2007/09/06 11:00:44 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/fix_libtool_files.sh,v 1.17 2014/05/20 08:00:40 rhill Exp $
usage() {
cat << "USAGE_END"
@@ -28,37 +28,32 @@ USAGE_END
exit 1
}
-if [[ $2 != "--oldarch" && $# -ne 1 ]] || \
- [[ $2 == "--oldarch" && $# -ne 3 ]]
-then
- usage
-fi
+case $2 in
+--oldarch) [ $# -ne 3 ] && usage ;;
+*) [ $# -ne 1 ] && usage ;;
+esac
ARGV1=$1
ARGV2=$2
ARGV3=$3
-source /etc/profile || exit 1
-source /etc/init.d/functions.sh || exit 1
+. /etc/profile || exit 1
-if [[ ${EUID} -ne 0 ]] ; then
- eerror "${0##*/}: Must be root."
+if [ ${EUID:-0} -ne 0 ] ; then
+ echo "${0##*/}: Must be root."
exit 1
fi
# make sure the files come out sane
umask 0022
-if [[ ${ARGV2} == "--oldarch" ]] && [[ -n ${ARGV3} ]] ; then
- OLDCHOST=${ARGV3}
-else
- OLDCHOST=
-fi
+OLDCHOST=
+[ "${ARGV2}" = "--oldarch" ] && OLDCHOST=${ARGV3}
-AWKDIR="/lib/rcscripts/awk"
+AWKDIR="/usr/share/gcc-data"
-if [[ ! -r ${AWKDIR}/fixlafiles.awk ]] ; then
- eerror "${0##*/}: ${AWKDIR}/fixlafiles.awk does not exist!"
+if [ ! -r "${AWKDIR}/fixlafiles.awk" ] ; then
+ echo "${0##*/}: ${AWKDIR}/fixlafiles.awk does not exist!"
exit 1
fi
@@ -66,7 +61,7 @@ OLDVER=${ARGV1}
export OLDVER OLDCHOST
-einfo "Scanning libtool files for hardcoded gcc library paths..."
-gawk -f "${AWKDIR}/fixlafiles.awk"
+echo "Scanning libtool files for hardcoded gcc library paths..."
+exec gawk -f "${AWKDIR}/fixlafiles.awk"
# vim:ts=4
diff --git a/sys-devel/gcc/files/gcc-4.6.2-fix-ICE-on-arm.patch b/sys-devel/gcc/files/gcc-4.6.2-fix-ICE-on-arm.patch
deleted file mode 100644
index 3f9f69ae..00000000
--- a/sys-devel/gcc/files/gcc-4.6.2-fix-ICE-on-arm.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/gcc/config/arm/arm.md
-+++ b/gcc/config/arm/arm.md
-@@ -4202,7 +4202,9 @@
- #
- ldr%(h%)\\t%0, %1"
- [(set_attr "type" "alu_shift,load_byte")
-- (set_attr "predicable" "yes")]
-+ (set_attr "predicable" "yes")
-+ (set_attr "pool_range" "*,256")
-+ (set_attr "neg_pool_range" "*,244")]
- )
-
- (define_insn "*arm_zero_extendhisi2_v6"
-@@ -4213,7 +4215,9 @@
- uxth%?\\t%0, %1
- ldr%(h%)\\t%0, %1"
- [(set_attr "type" "alu_shift,load_byte")
-- (set_attr "predicable" "yes")]
-+ (set_attr "predicable" "yes")
-+ (set_attr "pool_range" "*,256")
-+ (set_attr "neg_pool_range" "*,244")]
- )
-
- (define_insn "*arm_zero_extendhisi2addsi"
diff --git a/sys-devel/gcc/files/gcc-4.6.4-fix-ICE-on-arm.patch b/sys-devel/gcc/files/gcc-4.6.4-fix-ICE-on-arm.patch
deleted file mode 100644
index 578506a9..00000000
--- a/sys-devel/gcc/files/gcc-4.6.4-fix-ICE-on-arm.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- gcc-4.6.4/gcc/config/arm/arm.md
-+++ gcc-4.6.4/gcc/config/arm/arm.md
-@@ -4202,7 +4202,9 @@
- #
- ldr%(h%)\\t%0, %1"
- [(set_attr "type" "alu_shift,load_byte")
-- (set_attr "predicable" "yes")]
-+ (set_attr "predicable" "yes")
-+ (set_attr "pool_range" "*,256")
-+ (set_attr "neg_pool_range" "*,244")]
- )
-
- (define_insn "*arm_zero_extendhisi2_v6"
-@@ -4213,7 +4215,9 @@
- uxth%?\\t%0, %1
- ldr%(h%)\\t%0, %1"
- [(set_attr "type" "alu_shift,load_byte")
-- (set_attr "predicable" "yes")]
-+ (set_attr "predicable" "yes")
-+ (set_attr "pool_range" "*,256")
-+ (set_attr "neg_pool_range" "*,244")]
- )
-
- (define_insn "*arm_zero_extendhisi2addsi"
diff --git a/sys-devel/gcc/files/gcc-4.6.4-spec-env.patch b/sys-devel/gcc/files/gcc-4.6.4-spec-env.patch
deleted file mode 100644
index fff1221e..00000000
--- a/sys-devel/gcc/files/gcc-4.6.4-spec-env.patch
+++ /dev/null
@@ -1,43 +0,0 @@
- Add support for external spec file via the GCC_SPECS env var. This
- allows us to easily control pie/ssp defaults with gcc-config profiles.
-
- Original patch by Rob Holland
- Modified for Gentoo-based distros 'cuz of archive name by Stefan Cristian B.
- Extended to support multiple entries separated by ':' by Kevin F. Quinn
- Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
-
---- gcc-4.6.4/gcc/gcc.c
-+++ gcc-4.6.4/gcc/gcc.c
-@@ -6482,6 +6482,32 @@
-
- /* Process any user specified specs in the order given on the command
- line. */
-+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
-+ /* Add specs listed in GCC_SPECS. Note; in the process of separating
-+ * each spec listed, the string is overwritten at token boundaries
-+ * (':') with '\0', an effect of strtok_r().
-+ */
-+ specs_file = getenv ("GCC_SPECS");
-+ if (specs_file && (strlen(specs_file) > 0))
-+ {
-+ char *spec, *saveptr;
-+ for (spec=strtok_r(specs_file,":",&saveptr);
-+ spec!=NULL;
-+ spec=strtok_r(NULL,":",&saveptr))
-+ {
-+ struct user_specs *user = (struct user_specs *)
-+ xmalloc (sizeof (struct user_specs));
-+
-+ user->next = (struct user_specs *) 0;
-+ user->filename = spec;
-+ if (user_specs_tail)
-+ user_specs_tail->next = user;
-+ else
-+ user_specs_head = user;
-+ user_specs_tail = user;
-+ }
-+ }
-+#endif
- for (uptr = user_specs_head; uptr; uptr = uptr->next)
- {
- char *filename = find_a_file (&startfile_prefixes, uptr->filename,
diff --git a/sys-devel/gcc/files/gcc-4.8.4-no_instrument_function.patch b/sys-devel/gcc/files/gcc-4.8.4-no_instrument_function.patch
deleted file mode 100644
index c363b961..00000000
--- a/sys-devel/gcc/files/gcc-4.8.4-no_instrument_function.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- trunk/gcc/c-family/c-common.c 2014/01/02 22:23:26 206289
-+++ trunk/gcc/c-family/c-common.c 2014/01/15 19:37:35 206643
-@@ -7985,12 +7985,6 @@
- "%qE attribute applies only to functions", name);
- *no_add_attrs = true;
- }
-- else if (DECL_INITIAL (decl))
-- {
-- error_at (DECL_SOURCE_LOCATION (decl),
-- "can%'t set %qE attribute after definition", name);
-- *no_add_attrs = true;
-- }
- else
- DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT (decl) = 1;
-
diff --git a/sys-devel/gcc/files/gcc-spec-env.patch b/sys-devel/gcc/files/gcc-spec-env.patch
index 5fa61a91..57e7567e 100644
--- a/sys-devel/gcc/files/gcc-spec-env.patch
+++ b/sys-devel/gcc/files/gcc-spec-env.patch
@@ -2,12 +2,11 @@
allows us to easily control pie/ssp defaults with gcc-config profiles.
Original patch by Rob Holland
- Modified for Gentoo-based distros 'cuz of archive name by Stefan Cristian B.
Extended to support multiple entries separated by ':' by Kevin F. Quinn
Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
+--- gcc-4/gcc/gcc.c
++++ gcc-4/gcc/gcc.c
@@ -6482,6 +6482,32 @@
/* Process any user specified specs in the order given on the command
diff --git a/sys-devel/gcc/files/mkinfodir b/sys-devel/gcc/files/mkinfodir
deleted file mode 100644
index a62840ee..00000000
--- a/sys-devel/gcc/files/mkinfodir
+++ /dev/null
@@ -1,233 +0,0 @@
-#!/bin/bash
-# $Id: mkinfodir,v 1.1 2001/09/01 07:56:19 drobbins Exp $
-# Generate the top-level Info node, given a directory of Info files
-# and (optionally) a skeleton file. The output will be suitable for a
-# top-level dir file. The skeleton file contains info topic names in the
-# order they should appear in the output. There are three special
-# lines that alter the behavior: a line consisting of just "--" causes
-# the next line to be echoed verbatim to the output. A line
-# containing just "%%" causes all the remaining filenames (wildcards
-# allowed) in the rest of the file to be ignored. A line containing
-# just "!!" exits the script when reached (unless preceded by a line
-# containing just "--"). Once the script reaches the end of the
-# skeleton file, it goes through the remaining files in the directory
-# in order, putting their entries at the end. The script will use the
-# ENTRY information in each info file if it exists. Otherwise it will
-# make a minimal entry.
-
-# sent by Jeffrey Osier <jeffrey@cygnus.com>, who thinks it came from
-# zoo@winternet.com (david d `zoo' zuhn)
-
-# modified 7 April 1995 by Joe Harrington <jh@tecate.gsfc.nasa.gov> to
-# take special flags
-
-INFODIR=$1
-if [ $# = 2 ] ; then
- SKELETON=$2
-else
- SKELETON=/dev/null
-fi
-
-skip=
-
-if [ $# -gt 2 ] ; then
- echo usage: $0 info-directory [ skeleton-file ] 1>&2
- exit 1
-elif [ -z "${INFODIR}" ] ; then
- INFODIR="%%DEFAULT_INFO_DIR%%"
-else
- true
-fi
-
-if [ ! -d ${INFODIR} ] ; then
- echo "$0: first argument must specify a directory"
- exit 1
-fi
-
-### output the dir header
-echo "-*- Text -*-"
-echo "This file was generated automatically by $0."
-echo "This version was generated on `date`"
-echo "by `whoami`@`hostname` for `(cd ${INFODIR}; pwd)`"
-
-cat << moobler
-\$Id: mkinfodir,v 1.1 2001/09/01 07:56:19 drobbins Exp $
-This is the file .../info/dir, which contains the topmost node of the
-Info hierarchy. The first time you invoke Info you start off
-looking at that node, which is (dir)Top.
-
-File: dir Node: Top This is the top of the INFO tree
-
- This (the Directory node) gives a menu of major topics.
- Typing "q" exits, "?" lists all Info commands, "d" returns here,
- "h" gives a primer for first-timers,
- "mEmacs<Return>" visits the Emacs topic, etc.
-
- In Emacs, you can click mouse button 2 on a menu item or cross reference
- to select it.
-
-* Menu: The list of major topics begins on the next line.
-
-moobler
-
-### go through the list of files in the skeleton. If an info file
-### exists, grab the ENTRY information from it. If an entry exists
-### use it, otherwise create a minimal dir entry.
-###
-### Then remove that file from the list of existing files. If any
-### additional files remain (ones that don't have a skeleton entry),
-### then generate entries for those in the same way, putting the info for
-### those at the end....
-
-infofiles=`(cd ${INFODIR}; /bin/ls | grep -v '\-[0-9]*\.gz$' | grep -v '\-[0-9]*$' | egrep -v '^dir$|^dir\.info$|^dir\.orig$')`
-
-# echoing gets clobbered by backquotes; we do it the hard way...
-lines=`wc $SKELETON | awk '{print $1}'`
-line=1
-while [ $lines -ge $line ] ; do
- # Read one line from the file. This is so that we can echo lines with
- # whitespace and quoted characters in them.
- fileline=`awk NR==$line $SKELETON`
-
- # flag fancy features
- if [ ! -z "$echoline" ] ; then # echo line
- echo "$fileline"
- fileline=
- echoline=
- elif [ "${fileline}" = "--" ] ; then # should we echo the next line?
- echoline=1
- elif [ "${fileline}" = "%%" ] ; then # eliminate remaining files from dir?
- skip=1
- elif [ "${fileline}" = "!!" ] ; then # quit now
- exit 0
- fi
-
- # handle files if they exist
- for file in $fileline"" ; do # expand wildcards ("" handles blank lines)
-
- fname=
-
- if [ -z "$echoline" -a ! -z "$file" ] ; then
-
- # Find the file to operate upon. Check both possible names.
- infoname=`echo $file | sed 's/\.gz$//'`
- infoname=`echo $infoname | sed 's/\.info$//'`
- noext=
- ext=
- if [ -f ${INFODIR}/$infoname ] ; then
- noext=$infoname
- fi
- if [ -f ${INFODIR}/${infoname}.info ] ; then
- ext=${infoname}.info
- fi
- if [ -f ${INFODIR}/${infoname}.info.gz ] ; then
- ext=${infoname}.info.gz
- fi
- # If it exists with both names take what was said in the file.
- if [ ! -z "$ext" -a ! -z "$noext" ]; then
- fname=$file
- warn="### Warning: $ext and $noext both exist! Using ${file}. ###"
- elif [ ! \( -z "$ext" -a -z "$noext" \) ]; then
- # just take the name if it exists only once
- fname=${noext}${ext}
- fi
-
- # if we found something and aren't skipping, do the entry
- if [ ! -z "$fname" ] ; then
- if [ -z "$skip" ] ; then
-
- if [ ! -z "$warn" ] ; then # issue any warning
- echo $warn
- warn=
- fi
- if [ "${fname##*.}" = "gz" ] ; then
- entry=`zcat ${INFODIR}/${fname} | sed -e '1,/START-INFO-DIR-ENTRY/d' \
- -e '/END-INFO-DIR-ENTRY/,$d' `
- else
- entry=`sed -e '1,/START-INFO-DIR-ENTRY/d' \
- -e '/END-INFO-DIR-ENTRY/,$d' ${INFODIR}/$fname`
- fi
- if [ ! -z "${entry}" ] ; then
- echo "${entry}"
- else
- echo "* ${infoname}: (${infoname})."
- fi
- fi
-
- # remove the name from the directory listing
- infofiles=`echo "" ${infofiles} "" | sed -e "s/ ${fname} / /" -e "s/ / /g"`
-
- fi
-
- fi
-
- done
-
- line=`expr $line + 1`
-done
-
-if [ -z "${infofiles}" ] ; then
- exit 0
-elif [ $lines -gt 0 ]; then
- echo
-fi
-
-# Sort remaining files by INFO-DIR-SECTION.
-prevsect=
-filesectdata=`(cd ${INFODIR}; fgrep INFO-DIR-SECTION /dev/null ${infofiles} | \
- fgrep -v 'INFO-DIR-SECTION Miscellaneous' | \
- sort -t: -k2 -k1 | tr ' ' '_')`
-for sectdata in ${filesectdata}; do
- file=`echo ${sectdata} | cut -d: -f1`
- section=`sed -n -e 's/^INFO-DIR-SECTION //p' ${INFODIR}/${file}`
- infofiles=`echo "" ${infofiles} "" | sed -e "s/ ${file} / /" -e "s/ / /g"`
-
- if [ "${prevsect}" != "${section}" ] ; then
- if [ ! -z "${prevsect}" ] ; then
- echo ""
- fi
- echo "${section}"
- prevsect="${section}"
- fi
- infoname=`echo $file | sed 's/\.gz$//'`
- infoname=`echo $infoname | sed 's/\.info$//'`
- if [ "${file##*.}" = "gz" ] ; then
- entry=`zcat ${INFODIR}/$file | sed -e '1,/START-INFO-DIR-ENTRY/d' \
- -e '/END-INFO-DIR-ENTRY/,$d' `
- else
- entry=`sed -e '1,/START-INFO-DIR-ENTRY/d' \
- -e '/END-INFO-DIR-ENTRY/,$d' ${INFODIR}/$file`
- fi
- if [ ! -z "${entry}" ] ; then
- echo "${entry}"
- elif [ ! -d "${INFODIR}/${file}" ] ; then
- echo "* ${infoname}: (${infoname})."
- fi
-done
-
-# Process miscellaneous files.
-for file in ${infofiles}; do
- if [ ! -z "${prevsect}" ] ; then
- echo ""
- echo "Miscellaneous"
- prevsect=""
- fi
-
- infoname=`echo $file | sed 's/\.gz$//'`
- infoname=`echo $infoname | sed 's/\.info$//'`
- if [ "${file##*.}" = "gz" ] ; then
- entry=`zcat ${INFODIR}/${file} | sed -e '1,/START-INFO-DIR-ENTRY/d' \
- -e '/END-INFO-DIR-ENTRY/,$d'`
- else
- entry=`sed -e '1,/START-INFO-DIR-ENTRY/d' \
- -e '/END-INFO-DIR-ENTRY/,$d' ${INFODIR}/$file`
- fi
-
-
- if [ ! -z "${entry}" ] ; then
- echo "${entry}"
- elif [ ! -d "${INFODIR}/${file}" ] ; then
- echo "* ${infoname}: (${infoname})."
- fi
-done
-
diff --git a/sys-devel/gcc/files/pro-police-docs.patch b/sys-devel/gcc/files/pro-police-docs.patch
deleted file mode 100644
index 091ea44e..00000000
--- a/sys-devel/gcc/files/pro-police-docs.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Index: gcc/doc/invoke.texi
-===================================================================
-RCS file: /cvsroot/gcc/gcc/gcc/doc/invoke.texi,v
-retrieving revision 1.364
-diff -c -3 -p -r1.364 invoke.texi
-*** gcc/doc/invoke.texi 21 Nov 2003 11:42:58 -0000 1.364
---- gcc/doc/invoke.texi 22 Nov 2003 08:12:35 -0000
-*************** in the following sections.
-*** 228,234 ****
- -Wno-multichar -Wnonnull -Wpacked -Wpadded @gol
- -Wparentheses -Wpointer-arith -Wredundant-decls @gol
- -Wreturn-type -Wsequence-point -Wshadow @gol
-! -Wsign-compare -Wstrict-aliasing @gol
- -Wswitch -Wswitch-default -Wswitch-enum @gol
- -Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol
- -Wunknown-pragmas -Wunreachable-code @gol
---- 228,234 ----
- -Wno-multichar -Wnonnull -Wpacked -Wpadded @gol
- -Wparentheses -Wpointer-arith -Wredundant-decls @gol
- -Wreturn-type -Wsequence-point -Wshadow @gol
-! -Wsign-compare -Wstack-protector -Wstrict-aliasing @gol
- -Wswitch -Wswitch-default -Wswitch-enum @gol
- -Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol
- -Wunknown-pragmas -Wunreachable-code @gol
-*************** in the following sections.
-*** 681,686 ****
---- 681,687 ----
- -fshort-double -fshort-wchar @gol
- -fverbose-asm -fpack-struct -fstack-check @gol
- -fstack-limit-register=@var{reg} -fstack-limit-symbol=@var{sym} @gol
-+ -fstack-protector -fstack-protector-all @gol
- -fargument-alias -fargument-noalias @gol
- -fargument-noalias-global -fleading-underscore @gol
- -ftls-model=@var{model} @gol
-*************** effectively. Often, the problem is that
-*** 3014,3019 ****
---- 3015,3024 ----
- complex; GCC will refuse to optimize programs when the optimization
- itself is likely to take inordinate amounts of time.
-
-+ @item -Wstack-protector
-+ @opindex Wstack-protector
-+ Warn when not issuing stack smashing protection for some reason
-+
- @item -Werror
- @opindex Werror
- Make all warnings into errors.
-*************** and grows downwards, you can use the fla
-*** 11474,11479 ****
---- 11479,11502 ----
- @option{-fstack-limit-symbol=__stack_limit} and
- @option{-Wl,--defsym,__stack_limit=0x7ffe0000} to enforce a stack limit
- of 128KB@. Note that this may only work with the GNU linker.
-+
-+ @item -fstack-protector
-+ @item -fstack-protector-all
-+ @opindex fstack-protector
-+ @opindex fstack-protector-all
-+ @opindex fno-stack-protector
-+ Generate code to protect an application from a stack smashing
-+ attack. The features are (1) the insertion of random value next to the
-+ frame pointer to detect the integrity of the stack, (2) the reordering
-+ of local variables to place buffers after pointers to avoid the
-+ corruption of pointers that could be used to further corrupt arbitrary
-+ memory locations, (3) the copying of pointers in function arguments to
-+ an area preceding local variable buffers to prevent the corruption of
-+ pointers that could be used to further corrupt arbitrary memory
-+ locations, and the (4) omission of instrumentation code from some
-+ functions to decrease the performance overhead. If the integrity
-+ would be broken, the program is aborted. If no-stack-protector is
-+ specified, instrumentation codes are generated at every functions.
-
- @cindex aliasing of parameters
- @cindex parameters, aliased