From a99a1d775fdbf4bf970a95ae4e29522a6319b071 Mon Sep 17 00:00:00 2001 From: Michael Olbrich Date: Wed, 3 Dec 2014 19:24:08 +0100 Subject: remove obsolte patches Signed-off-by: Michael Olbrich --- ...disable-some-docs-to-avoid-using-makeinfo.patch | 23 - .../03_all_binutils-2.15.92.0.2-ppc64-pie.patch | 22 - .../04_all_binutils-2.15.92.0.2-place-orphan.patch | 22 - .../gentoo/07_all_binutils-2.18-windres.patch | 19 - .../08_all_binutils-RPATH_ENVVAR-smack.patch | 19 - .../gentoo/09_all_binutils-ld-tests-CXXFLAGS.patch | 75 --- .../generic/gentoo/12_all_sh-targets.patch | 56 --- .../gentoo/18_all_binutils-makeinfo-version.patch | 38 -- .../gentoo/25_all_binutils-for-build-flags.patch | 23 - .../gentoo/30_all_binutils-multitarget-fixup.patch | 234 --------- .../gentoo/33_all_binutils-gnu-relro-fixups.patch | 536 --------------------- .../gentoo/42_all_012_check_ldrunpath_length.patch | 52 -- .../66_all_binutils-2.17.50.0.2-warn-textrel.patch | 75 --- .../76_all_only-use-new-ld-dtags.patch.disabled | 31 -- .../generic/gentoo/91_all_libiberty-pic.patch | 16 - ...3_all_binutils-2.18-pt-pax-flags-20070828.patch | 263 ---------- .../gentoo/no_76_all_use-new-ld-dtags.patch | 10 - .../gentoo/no_77_all_generate-gnu-hash.patch | 6 - .../generic/gentoo/no_78_all_use-relro.patch | 6 - ...tils-2.16.91.0.6-objcopy-rename-errorcode.patch | 39 -- patches/binutils-2.18/generic/series | 24 - .../generic/uclibc/110-arm-eabi-conf.patch | 31 -- ...50-Backport-PR-target-55981-from-mainline.patch | 120 ----- ...51-Backport-PR-target-56028-from-mainline.patch | 510 -------------------- patches/gcc-4.7.2/0100-no-host-includes.patch | 55 --- .../0101-gcc-i386-use-pure64-CLFS-patch.patch | 45 -- ...libgcc-reorder-tmake_file-for-arm-uclinux.patch | 34 -- ...0-also-match-uclibc-when-checking-host-os.patch | 49 -- patches/gcc-4.7.2/0201-missing-execinfo.h.patch | 24 - patches/gcc-4.7.2/0202-c99-snprintf.patch | 24 - .../gcc-4.7.2/0203-libmudflap-susv3-legacy.patch | 62 --- patches/gcc-4.7.2/0300-libiberty-pic.patch | 24 - patches/gcc-4.7.2/0301-libstdc-pic.patch | 58 --- ...-for-arm-linux-eabi-triplets-useful-for-a.patch | 137 ------ .../0500-Fix-Argument-list-too-long-error.patch | 37 -- ...e-change-to-the-hard-float-loader-path.-C.patch | 74 --- patches/gcc-4.7.2/series | 24 - ..._FUTEX_OFFSET-Guard-sym-definition-with-i.patch | 33 -- .../glibc-2.8/generic/configure-sane_readelf.diff | 119 ----- .../generic/configure_in-sane_readelf.diff | 35 -- .../0030_all_glibc-respect-env-CPPFLAGS.patch | 32 -- .../generic/gentoo/0040_all_glibc-i586-chk.patch | 32 -- ...70_all_glibc-i386-x86_64-revert-clone-cfi.patch | 55 --- .../1010_all_glibc-queue-header-updates.patch | 89 ---- .../gentoo/1030_all_glibc-manual-no-perl.patch | 29 -- .../1040_all_2.3.3-localedef-fix-trampoline.patch | 74 --- .../generic/gentoo/1050_all_glibc-posix-awk.patch | 23 - .../gentoo/1055_all_glibc-resolv-dynamic.patch | 44 -- .../gentoo/1075_all_glibc-section-comments.patch | 29 -- .../gentoo/1080_all_glibc-no-inline-gmon.patch | 38 -- .../gentoo/1090_all_glibc-2.3.6-fix-pr631.patch | 52 -- .../gentoo/1100_all_glibc-2.3.3-china.patch | 35 -- .../1103_all_glibc-new-valencian-locale.patch | 122 ----- .../1120_all_glibc-2.5-strict-aliasing.patch | 91 ---- .../1130_all_glibc-2.4-undefine-__i686.patch | 49 -- .../3000_all_2.3.6-dl_execstack-PaX-support.patch | 73 --- .../gentoo/3010_all_2.3.3_pre20040117-pt_pax.patch | 35 -- .../6224_all_glibc-2.7-lowlevellock-includes.patch | 28 -- .../6400_all_sh-glibc-2.3.2-fpscr_values.patch | 42 -- .../6415_all_sh-glibc-2.5-no-asm-user-header.patch | 76 --- .../6416_all_sh-glibc-2.5-no-asm-elf-header.patch | 33 -- .../gentoo/6605_all_glibc-2.4-fpu-cw-mips.patch | 19 - .../6645_all_glibc-mips_shn_undef-hack.patch | 29 -- .../glibc-2.5_ports_sysdeps_arm_mp_clz_tab.c | 33 -- .../glibc-2.8/generic/glibc-2.5_stdlib_longlong.h | 37 -- .../generic/glibc-configure-apple-as.patch | 47 -- .../generic/glibc-configure-old-gcc.patch | 17 - .../glibc-2.8/generic/make-install-lib-all.patch | 45 -- patches/glibc-2.8/generic/series | 39 -- .../sysdeps_mips_mips32_Makefile-bootstrap.diff | 28 -- ...C-libary-confusion-in-unifdef.c-due-to-ge.patch | 56 --- patches/linux-2.6.27/generic/series | 1 - 72 files changed, 4516 deletions(-) delete mode 100644 patches/binutils-2.18/generic/0001-HACK-disable-some-docs-to-avoid-using-makeinfo.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/03_all_binutils-2.15.92.0.2-ppc64-pie.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/04_all_binutils-2.15.92.0.2-place-orphan.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/07_all_binutils-2.18-windres.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/08_all_binutils-RPATH_ENVVAR-smack.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/09_all_binutils-ld-tests-CXXFLAGS.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/12_all_sh-targets.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/18_all_binutils-makeinfo-version.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/25_all_binutils-for-build-flags.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/30_all_binutils-multitarget-fixup.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/33_all_binutils-gnu-relro-fixups.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/42_all_012_check_ldrunpath_length.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/66_all_binutils-2.17.50.0.2-warn-textrel.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/76_all_only-use-new-ld-dtags.patch.disabled delete mode 100644 patches/binutils-2.18/generic/gentoo/91_all_libiberty-pic.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/no_63_all_binutils-2.18-pt-pax-flags-20070828.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/no_76_all_use-new-ld-dtags.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/no_77_all_generate-gnu-hash.patch delete mode 100644 patches/binutils-2.18/generic/gentoo/no_78_all_use-relro.patch delete mode 100644 patches/binutils-2.18/generic/oe/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch delete mode 100644 patches/binutils-2.18/generic/series delete mode 100644 patches/binutils-2.18/generic/uclibc/110-arm-eabi-conf.patch delete mode 100644 patches/gcc-4.7.2/0050-Backport-PR-target-55981-from-mainline.patch delete mode 100644 patches/gcc-4.7.2/0051-Backport-PR-target-56028-from-mainline.patch delete mode 100644 patches/gcc-4.7.2/0100-no-host-includes.patch delete mode 100644 patches/gcc-4.7.2/0101-gcc-i386-use-pure64-CLFS-patch.patch delete mode 100644 patches/gcc-4.7.2/0102-libgcc-reorder-tmake_file-for-arm-uclinux.patch delete mode 100644 patches/gcc-4.7.2/0200-also-match-uclibc-when-checking-host-os.patch delete mode 100644 patches/gcc-4.7.2/0201-missing-execinfo.h.patch delete mode 100644 patches/gcc-4.7.2/0202-c99-snprintf.patch delete mode 100644 patches/gcc-4.7.2/0203-libmudflap-susv3-legacy.patch delete mode 100644 patches/gcc-4.7.2/0300-libiberty-pic.patch delete mode 100644 patches/gcc-4.7.2/0301-libstdc-pic.patch delete mode 100644 patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch delete mode 100644 patches/gcc-4.7.2/0500-Fix-Argument-list-too-long-error.patch delete mode 100644 patches/gcc-4.7.2/0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch delete mode 100644 patches/gcc-4.7.2/series delete mode 100644 patches/glibc-2.8/generic/0001--PRIVATE_FUTEX_OFFSET-Guard-sym-definition-with-i.patch delete mode 100644 patches/glibc-2.8/generic/configure-sane_readelf.diff delete mode 100644 patches/glibc-2.8/generic/configure_in-sane_readelf.diff delete mode 100644 patches/glibc-2.8/generic/gentoo/0030_all_glibc-respect-env-CPPFLAGS.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/0040_all_glibc-i586-chk.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/0070_all_glibc-i386-x86_64-revert-clone-cfi.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1010_all_glibc-queue-header-updates.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1030_all_glibc-manual-no-perl.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1040_all_2.3.3-localedef-fix-trampoline.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1050_all_glibc-posix-awk.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1055_all_glibc-resolv-dynamic.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1075_all_glibc-section-comments.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1080_all_glibc-no-inline-gmon.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1090_all_glibc-2.3.6-fix-pr631.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1100_all_glibc-2.3.3-china.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1103_all_glibc-new-valencian-locale.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1120_all_glibc-2.5-strict-aliasing.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/1130_all_glibc-2.4-undefine-__i686.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/3000_all_2.3.6-dl_execstack-PaX-support.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/3010_all_2.3.3_pre20040117-pt_pax.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/6224_all_glibc-2.7-lowlevellock-includes.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/6400_all_sh-glibc-2.3.2-fpscr_values.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/6415_all_sh-glibc-2.5-no-asm-user-header.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/6416_all_sh-glibc-2.5-no-asm-elf-header.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/6605_all_glibc-2.4-fpu-cw-mips.patch delete mode 100644 patches/glibc-2.8/generic/gentoo/6645_all_glibc-mips_shn_undef-hack.patch delete mode 100644 patches/glibc-2.8/generic/glibc-2.5_ports_sysdeps_arm_mp_clz_tab.c delete mode 100644 patches/glibc-2.8/generic/glibc-2.5_stdlib_longlong.h delete mode 100644 patches/glibc-2.8/generic/glibc-configure-apple-as.patch delete mode 100644 patches/glibc-2.8/generic/glibc-configure-old-gcc.patch delete mode 100644 patches/glibc-2.8/generic/make-install-lib-all.patch delete mode 100644 patches/glibc-2.8/generic/series delete mode 100644 patches/glibc-2.8/generic/sysdeps_mips_mips32_Makefile-bootstrap.diff delete mode 100644 patches/linux-2.6.27/generic/0001-kbuild-fix-C-libary-confusion-in-unifdef.c-due-to-ge.patch delete mode 100644 patches/linux-2.6.27/generic/series diff --git a/patches/binutils-2.18/generic/0001-HACK-disable-some-docs-to-avoid-using-makeinfo.patch b/patches/binutils-2.18/generic/0001-HACK-disable-some-docs-to-avoid-using-makeinfo.patch deleted file mode 100644 index 5d9b8cb..0000000 --- a/patches/binutils-2.18/generic/0001-HACK-disable-some-docs-to-avoid-using-makeinfo.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Michael Olbrich -Date: Mon, 10 Jun 2013 09:11:36 +0200 -Subject: [PATCH] HACK: disable some docs to avoid using makeinfo - -Patching Makefile.in because running automake fails. - -Signed-off-by: Michael Olbrich ---- - bfd/Makefile.in | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/bfd/Makefile.in b/bfd/Makefile.in -index 1436aac..6701239 100644 ---- a/bfd/Makefile.in -+++ b/bfd/Makefile.in -@@ -271,7 +271,6 @@ RELEASE=y - INCDIR = $(srcdir)/../include - CSEARCH = -I. -I$(srcdir) -I$(INCDIR) - MKDEP = gcc -MM --SUBDIRS = doc po - bfddocdir = doc - bfdlib_LTLIBRARIES = libbfd.la - AM_CFLAGS = $(WARN_CFLAGS) diff --git a/patches/binutils-2.18/generic/gentoo/03_all_binutils-2.15.92.0.2-ppc64-pie.patch b/patches/binutils-2.18/generic/gentoo/03_all_binutils-2.15.92.0.2-ppc64-pie.patch deleted file mode 100644 index 03816d2..0000000 --- a/patches/binutils-2.18/generic/gentoo/03_all_binutils-2.15.92.0.2-ppc64-pie.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- - bfd/elf64-ppc.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -Index: binutils-2.18/bfd/elf64-ppc.c -=================================================================== ---- binutils-2.18.orig/bfd/elf64-ppc.c -+++ binutils-2.18/bfd/elf64-ppc.c -@@ -10979,7 +10979,12 @@ ppc64_elf_relocate_section (bfd *output_ - else if (!SYMBOL_REFERENCES_LOCAL (info, &h->elf) - && !is_opd - && r_type != R_PPC64_TOC) -- outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type); -+ { -+ outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type); -+ if (h->elf.dynindx == -1 -+ && h->elf.root.type == bfd_link_hash_undefweak) -+ memset (&outrel, 0, sizeof outrel); -+ } - else - { - /* This symbol is local, or marked to become local, diff --git a/patches/binutils-2.18/generic/gentoo/04_all_binutils-2.15.92.0.2-place-orphan.patch b/patches/binutils-2.18/generic/gentoo/04_all_binutils-2.15.92.0.2-place-orphan.patch deleted file mode 100644 index cfc9b05..0000000 --- a/patches/binutils-2.18/generic/gentoo/04_all_binutils-2.15.92.0.2-place-orphan.patch +++ /dev/null @@ -1,22 +0,0 @@ -2003-08-05 Jakub Jelinek - - * emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.opd. - ---- - ld/emulparams/elf64ppc.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: binutils-2.18/ld/emulparams/elf64ppc.sh -=================================================================== ---- binutils-2.18.orig/ld/emulparams/elf64ppc.sh -+++ binutils-2.18/ld/emulparams/elf64ppc.sh -@@ -28,7 +28,8 @@ else - .toc 0 : { *(.toc) }" - fi - OTHER_GOT_RELOC_SECTIONS=" -- .rela.toc ${RELOCATING-0} : { *(.rela.toc) }" -+ .rela.toc ${RELOCATING-0} : { *(.rela.toc) } -+ .rela.opd ${RELOCATING-0} : { *(.rela.opd) }" - OTHER_READWRITE_SECTIONS=" - .toc1 ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) } - .opd ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) } diff --git a/patches/binutils-2.18/generic/gentoo/07_all_binutils-2.18-windres.patch b/patches/binutils-2.18/generic/gentoo/07_all_binutils-2.18-windres.patch deleted file mode 100644 index 476aefd..0000000 --- a/patches/binutils-2.18/generic/gentoo/07_all_binutils-2.18-windres.patch +++ /dev/null @@ -1,19 +0,0 @@ -http://sourceware.org/bugzilla/show_bug.cgi?id=4987 - ---- - binutils/resrc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: binutils-2.18/binutils/resrc.c -=================================================================== ---- binutils-2.18.orig/binutils/resrc.c -+++ binutils-2.18/binutils/resrc.c -@@ -437,7 +437,7 @@ read_rc_file (const char *filename, cons - const char *fnquotes = (filename_need_quotes (filename) ? "\"" : ""); - - /* Setup the default resource import path taken from input file. */ -- if (strchr (filename, '/') != NULL || strchr (filename, '\\') != NULL) -+ if (filename != NULL && (strchr (filename, '/') != NULL || strchr (filename, '\\') != NULL)) - { - char *e, *c; - diff --git a/patches/binutils-2.18/generic/gentoo/08_all_binutils-RPATH_ENVVAR-smack.patch b/patches/binutils-2.18/generic/gentoo/08_all_binutils-RPATH_ENVVAR-smack.patch deleted file mode 100644 index 7180b94..0000000 --- a/patches/binutils-2.18/generic/gentoo/08_all_binutils-RPATH_ENVVAR-smack.patch +++ /dev/null @@ -1,19 +0,0 @@ -http://sourceware.org/ml/binutils/2007-07/msg00401.html -http://sourceware.org/bugzilla/show_bug.cgi?id=4970 - ---- - configure | 1 + - 1 file changed, 1 insertion(+) - -Index: binutils-2.18/configure -=================================================================== ---- binutils-2.18.orig/configure -+++ binutils-2.18/configure -@@ -5369,6 +5369,7 @@ case "${host}" in - *-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;; - *) RPATH_ENVVAR=LD_LIBRARY_PATH ;; - esac -+RPATH_ENVVAR="cant_touch_this_nah_nah_nah" - - # Record target_configdirs and the configure arguments for target and - # build configuration in Makefile. diff --git a/patches/binutils-2.18/generic/gentoo/09_all_binutils-ld-tests-CXXFLAGS.patch b/patches/binutils-2.18/generic/gentoo/09_all_binutils-ld-tests-CXXFLAGS.patch deleted file mode 100644 index 93ce802..0000000 --- a/patches/binutils-2.18/generic/gentoo/09_all_binutils-ld-tests-CXXFLAGS.patch +++ /dev/null @@ -1,75 +0,0 @@ -http://sourceware.org/ml/binutils/2007-08/msg00411.html - -forcing CFLAGS against C++ builds causes false failures - ---- - ld/testsuite/lib/ld-lib.exp | 21 ++++++++++++++++++--- - 1 file changed, 18 insertions(+), 3 deletions(-) - -Index: binutils-2.18/ld/testsuite/lib/ld-lib.exp -=================================================================== ---- binutils-2.18.orig/ld/testsuite/lib/ld-lib.exp -+++ binutils-2.18/ld/testsuite/lib/ld-lib.exp -@@ -206,6 +206,7 @@ proc default_ld_simple_link { ld target - # - proc default_ld_compile { cc source object } { - global CFLAGS -+ global CXXFLAGS - global srcdir - global subdir - global host_triplet -@@ -222,7 +223,11 @@ proc default_ld_compile { cc source obje - - catch "exec rm -f $object" exec_output - -- set flags "-I$srcdir/$subdir $CFLAGS" -+ if {[string match "*.cc" $source]} then { -+ set flags "-I$srcdir/$subdir $CXXFLAGS" -+ } else { -+ set flags "-I$srcdir/$subdir $CFLAGS" -+ } - - # If we are compiling with gcc, we want to add gcc_gas_flag to - # flags. Rather than determine this in some complex way, we guess -@@ -1282,6 +1287,7 @@ proc run_ld_link_exec_tests { targets_to - global CC - global CXX - global CFLAGS -+ global CXXFLAGS - global errcnt - global exec_output - -@@ -1316,7 +1322,11 @@ proc run_ld_link_exec_tests { targets_to - # We ignore warnings since some compilers may generate - # incorrect section attributes and the assembler will warn - # them. -- ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/$src_file $objfile -+ if { [ string match "c++" $lang ] } { -+ ld_compile "$CXX -c $CXXFLAGS $cflags" $srcdir/$subdir/$src_file $objfile -+ } else { -+ ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/$src_file $objfile -+ } - - # We have to use $CC to build PIE and shared library. - if { [ string match "c" $lang ] } { -@@ -1408,6 +1418,7 @@ proc run_cc_link_tests { ldtests } { - global CC - global CXX - global CFLAGS -+ global CXXFLAGS - - foreach testitem $ldtests { - set testname [lindex $testitem 0] -@@ -1429,7 +1440,11 @@ proc run_cc_link_tests { ldtests } { - # We ignore warnings since some compilers may generate - # incorrect section attributes and the assembler will warn - # them. -- ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/$src_file $objfile -+ if { [ string match "c++" $lang ] } { -+ ld_compile "$CXX -c $CXXFLAGS $cflags" $srcdir/$subdir/$src_file $objfile -+ } else { -+ ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/$src_file $objfile -+ } - } - - # Clear error and warning counts. diff --git a/patches/binutils-2.18/generic/gentoo/12_all_sh-targets.patch b/patches/binutils-2.18/generic/gentoo/12_all_sh-targets.patch deleted file mode 100644 index 21c2e8f..0000000 --- a/patches/binutils-2.18/generic/gentoo/12_all_sh-targets.patch +++ /dev/null @@ -1,56 +0,0 @@ -r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - ---- - configure | 4 ++-- - configure.ac | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -Index: binutils-2.18/configure -=================================================================== ---- binutils-2.18.orig/configure -+++ binutils-2.18/configure -@@ -2206,7 +2206,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -2504,7 +2504,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[3456789]86-*-vsta) ;; # don't add gprof back in - i[3456789]86-*-go32*) ;; # don't add gprof back in -Index: binutils-2.18/configure.ac -=================================================================== ---- binutils-2.18.orig/configure.ac -+++ binutils-2.18/configure.ac -@@ -484,7 +484,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -782,7 +782,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[[3456789]]86-*-vsta) ;; # don't add gprof back in - i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/patches/binutils-2.18/generic/gentoo/18_all_binutils-makeinfo-version.patch b/patches/binutils-2.18/generic/gentoo/18_all_binutils-makeinfo-version.patch deleted file mode 100644 index bdbc340..0000000 --- a/patches/binutils-2.18/generic/gentoo/18_all_binutils-makeinfo-version.patch +++ /dev/null @@ -1,38 +0,0 @@ -http://bugs.gentoo.org/195074 - -2007-09-15 Alan Modra - - * configure.ac: Correct makeinfo version check. - * configure: Regenerate. - ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: binutils-2.18/configure.ac -=================================================================== ---- binutils-2.18.orig/configure.ac -+++ binutils-2.18/configure.ac -@@ -2403,7 +2403,7 @@ changequote(,) - # For an installed makeinfo, we require it to be from texinfo 4.4 or - # higher, else we use the "missing" dummy. - if ${MAKEINFO} --version \ -- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then -+ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then - : - else - MAKEINFO="$MISSING makeinfo" -Index: binutils-2.18/configure -=================================================================== ---- binutils-2.18.orig/configure -+++ binutils-2.18/configure -@@ -6129,7 +6129,7 @@ case " $build_configdirs " in - # For an installed makeinfo, we require it to be from texinfo 4.4 or - # higher, else we use the "missing" dummy. - if ${MAKEINFO} --version \ -- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then -+ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then - : - else - MAKEINFO="$MISSING makeinfo" diff --git a/patches/binutils-2.18/generic/gentoo/25_all_binutils-for-build-flags.patch b/patches/binutils-2.18/generic/gentoo/25_all_binutils-for-build-flags.patch deleted file mode 100644 index 8c2cf03..0000000 --- a/patches/binutils-2.18/generic/gentoo/25_all_binutils-for-build-flags.patch +++ /dev/null @@ -1,23 +0,0 @@ -only default CFLAGS_FOR_BUILD to host CFLAGS when build and host are the same - -http://bugs.gentoo.org/192959 - ---- - configure | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -Index: binutils-2.18/configure -=================================================================== ---- binutils-2.18.orig/configure -+++ binutils-2.18/configure -@@ -5778,7 +5778,9 @@ esac - - # Allow the user to override the flags for - # our build compiler if desired. --CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}} -+if test x"${build}" = x"${host}" ; then -+ CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}} -+fi - - # On Canadian crosses, we'll be searching the right directories for - # the previously-installed cross compiler, so don't bother to add diff --git a/patches/binutils-2.18/generic/gentoo/30_all_binutils-multitarget-fixup.patch b/patches/binutils-2.18/generic/gentoo/30_all_binutils-multitarget-fixup.patch deleted file mode 100644 index ff815e1..0000000 --- a/patches/binutils-2.18/generic/gentoo/30_all_binutils-multitarget-fixup.patch +++ /dev/null @@ -1,234 +0,0 @@ -Fix from upstream for --enable-targets=all on an x86_64 multilib system. - -http://sourceware.org/ml/binutils/2007-09/msg00137.html -http://sourceware.org/ml/binutils/2007-09/msg00162.html - -2007-09-14 Alan Modra - - * format.c (bfd_check_format_matches): Record matching targets even - when "matching" is NULL to allow bfd_associated_vector matches. - Consolidate error return code. Consolidate ok return code. Always - restore original target and format on error. - ---- - bfd/format.c | 112 ++++++++++++++++++----------------------------------------- - 1 file changed, 35 insertions(+), 77 deletions(-) - -Index: binutils-2.18/bfd/format.c -=================================================================== ---- binutils-2.18.orig/bfd/format.c -+++ binutils-2.18/bfd/format.c -@@ -125,6 +125,9 @@ bfd_check_format_matches (bfd *abfd, bfd - int match_count; - int ar_match_index; - -+ if (matching != NULL) -+ *matching = NULL; -+ - if (!bfd_read_p (abfd) - || (unsigned int) abfd->format >= (unsigned int) bfd_type_end) - { -@@ -141,11 +144,10 @@ bfd_check_format_matches (bfd *abfd, bfd - match_count = 0; - ar_match_index = _bfd_target_vector_entries; - -- if (matching) -+ if (matching != NULL || *bfd_associated_vector != NULL) - { - bfd_size_type amt; - -- *matching = NULL; - amt = sizeof (*matching_vector) * 2 * _bfd_target_vector_entries; - matching_vector = bfd_malloc (amt); - if (!matching_vector) -@@ -162,31 +164,12 @@ bfd_check_format_matches (bfd *abfd, bfd - if (!abfd->target_defaulted) - { - if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0) /* rewind! */ -- { -- if (matching) -- free (matching_vector); -- return FALSE; -- } -+ goto err_ret; - - right_targ = BFD_SEND_FMT (abfd, _bfd_check_format, (abfd)); - - if (right_targ) -- { -- abfd->xvec = right_targ; /* Set the target as returned. */ -- -- if (matching) -- free (matching_vector); -- -- /* If the file was opened for update, then `output_has_begun' -- some time ago when the file was created. Do not recompute -- sections sizes or alignments in _bfd_set_section_contents. -- We can not set this flag until after checking the format, -- because it will interfere with creation of BFD sections. */ -- if (abfd->direction == both_direction) -- abfd->output_has_begun = TRUE; -- -- return TRUE; /* File position has moved, BTW. */ -- } -+ goto ok_ret; - - /* For a long time the code has dropped through to check all - targets if the specified target was wrong. I don't know why, -@@ -201,17 +184,7 @@ bfd_check_format_matches (bfd *abfd, bfd - this sort, I changed this test to check only for the binary - target. */ - if (format == bfd_archive && save_targ == &binary_vec) -- { -- abfd->xvec = save_targ; -- abfd->format = bfd_unknown; -- -- if (matching) -- free (matching_vector); -- -- bfd_set_error (bfd_error_file_not_recognized); -- -- return FALSE; -- } -+ goto err_unrecog; - } - - for (target = bfd_target_vector; *target != NULL; target++) -@@ -227,11 +200,7 @@ bfd_check_format_matches (bfd *abfd, bfd - abfd->xvec = *target; /* Change BFD's target temporarily. */ - - if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0) -- { -- if (matching) -- free (matching_vector); -- return FALSE; -- } -+ goto err_ret; - - /* If _bfd_check_format neglects to set bfd_error, assume - bfd_error_wrong_format. We didn't used to even pay any -@@ -255,9 +224,8 @@ bfd_check_format_matches (bfd *abfd, bfd - break; - } - -- if (matching) -+ if (matching_vector) - matching_vector[match_count] = temp; -- - match_count++; - } - else if ((err = bfd_get_error ()) == bfd_error_wrong_object_format -@@ -268,20 +236,12 @@ bfd_check_format_matches (bfd *abfd, bfd - no better matches. */ - if (ar_right_targ != bfd_default_vector[0]) - ar_right_targ = *target; -- if (matching) -+ if (matching_vector) - matching_vector[ar_match_index] = *target; - ar_match_index++; - } - else if (err != bfd_error_wrong_format) -- { -- abfd->xvec = save_targ; -- abfd->format = bfd_unknown; -- -- if (matching) -- free (matching_vector); -- -- return FALSE; -- } -+ goto err_ret; - } - - if (match_count == 0) -@@ -297,16 +257,14 @@ bfd_check_format_matches (bfd *abfd, bfd - { - match_count = ar_match_index - _bfd_target_vector_entries; - -- if (matching && match_count > 1) -+ if (matching_vector && match_count > 1) - memcpy (matching_vector, - matching_vector + _bfd_target_vector_entries, - sizeof (*matching_vector) * match_count); - } - } - -- if (match_count > 1 -- && bfd_associated_vector != NULL -- && matching) -+ if (match_count > 1) - { - const bfd_target * const *assoc = bfd_associated_vector; - -@@ -328,11 +286,9 @@ bfd_check_format_matches (bfd *abfd, bfd - - if (match_count == 1) - { -+ ok_ret: - abfd->xvec = right_targ; /* Change BFD's target permanently. */ - -- if (matching) -- free (matching_vector); -- - /* If the file was opened for update, then `output_has_begun' - some time ago when the file was created. Do not recompute - sections sizes or alignments in _bfd_set_section_contents. -@@ -341,37 +297,39 @@ bfd_check_format_matches (bfd *abfd, bfd - if (abfd->direction == both_direction) - abfd->output_has_begun = TRUE; - -+ if (matching_vector) -+ free (matching_vector); - return TRUE; /* File position has moved, BTW. */ - } - -- abfd->xvec = save_targ; /* Restore original target type. */ -- abfd->format = bfd_unknown; /* Restore original format. */ -- - if (match_count == 0) - { -+ err_unrecog: - bfd_set_error (bfd_error_file_not_recognized); -- -- if (matching) -+ err_ret: -+ abfd->xvec = save_targ; -+ abfd->format = bfd_unknown; -+ if (matching_vector) - free (matching_vector); -+ return FALSE; - } -- else -- { -- bfd_set_error (bfd_error_file_ambiguously_recognized); - -- if (matching) -+ abfd->xvec = save_targ; /* Restore original target type. */ -+ abfd->format = bfd_unknown; /* Restore original format. */ -+ bfd_set_error (bfd_error_file_ambiguously_recognized); -+ -+ if (matching) -+ { -+ *matching = (char **) matching_vector; -+ matching_vector[match_count] = NULL; -+ /* Return target names. This is a little nasty. Maybe we -+ should do another bfd_malloc? */ -+ while (--match_count >= 0) - { -- *matching = (char **) matching_vector; -- matching_vector[match_count] = NULL; -- /* Return target names. This is a little nasty. Maybe we -- should do another bfd_malloc? */ -- while (--match_count >= 0) -- { -- const char *name = matching_vector[match_count]->name; -- *(const char **) &matching_vector[match_count] = name; -- } -+ const char *name = matching_vector[match_count]->name; -+ *(const char **) &matching_vector[match_count] = name; - } - } -- - return FALSE; - } - diff --git a/patches/binutils-2.18/generic/gentoo/33_all_binutils-gnu-relro-fixups.patch b/patches/binutils-2.18/generic/gentoo/33_all_binutils-gnu-relro-fixups.patch deleted file mode 100644 index 2471163..0000000 --- a/patches/binutils-2.18/generic/gentoo/33_all_binutils-gnu-relro-fixups.patch +++ /dev/null @@ -1,536 +0,0 @@ -http://bugs.gentoo.org/192584 -http://sourceware.org/bugzilla/show_bug.cgi?id=5037 -http://sourceware.org/ml/binutils/2007-09/msg00208.html - -bfd/ - -2007-09-16 H.J. Lu - - PR binutils/3281 - PR binutils/5037 - * elf-bfd.h (elf_obj_tdata): Remove relro. - - * elf.c (get_program_header_size): Check info->relro instead - of elf_tdata (abfd)->relro. - (_bfd_elf_map_sections_to_segments): Likewise. - (assign_file_positions_for_load_sections): Don't set - PT_GNU_RELRO segment alignment here. - (assign_file_positions_for_non_load_sections): Properly set up - PT_GNU_RELRO segment for copying executable/shared library. - (rewrite_elf_program_header): Remove PT_GNU_RELRO segment. - (copy_elf_program_header): Set p_size and p_size_valid fields for - PT_GNU_RELRO segment. - -include/elf/ - -2007-09-16 H.J. Lu - - PR binutils/3281 - PR binutils/5037 - * internal.h (elf_segment_map): Add p_size and p_size_valid. - (ELF_IS_SECTION_IN_SEGMENT): Allow SHF_TLS sections in - PT_GNU_RELRO segments. - -ld/ - -2007-09-16 H.J. Lu - - PR binutils/3281 - PR binutils/5037 - * ldexp.h (ldexp_control): Add relro, relro_start_stat and - relro_end_stat. - - * ldexp.c (fold_binary): Set expld.dataseg.relro to - exp_dataseg_relro_start or exp_dataseg_relro_end when - seeing DATA_SEGMENT_ALIGN or DATA_SEGMENT_RELRO_END, - respectively. - - * ldlang.c (lang_size_sections_1): Properly set - expld.dataseg.relro_start_stat and - expld.dataseg.relro_end_stat. - (find_relro_section_callback): New function. - (lang_find_relro_sections_1): Likewise. - (lang_find_relro_sections): Likewise. - (lang_process): Call lang_find_relro_sections for - non-relocatable link. - -ld/testsuite/ - -2007-09-16 H.J. Lu - - PR binutils/3281 - PR binutils/5037 - * ld-elf/binutils.exp: Update "-z relro" tests to use relro1.s. - Add "-z relro" tests with relro2.s. Add "-z relro" tests with - TLS for objcopy. - - * ld-elf/relro1.s: New file. - * ld-elf/relro2.s: Likewise. - ---- - bfd/elf-bfd.h | 3 - - bfd/elf.c | 77 ++++++++++++++++++++++++----- - bfd/elflink.c | 1 - include/elf/internal.h | 10 +++ - ld/ldexp.c | 2 - ld/ldexp.h | 11 ++++ - ld/ldlang.c | 101 +++++++++++++++++++++++++++++++++++++++ - ld/testsuite/ld-elf/binutils.exp | 28 ++++++++-- - ld/testsuite/ld-elf/relro1.s | 14 +++++ - ld/testsuite/ld-elf/relro2.s | 5 + - 10 files changed, 227 insertions(+), 25 deletions(-) - -Index: binutils-2.18/bfd/elf-bfd.h -=================================================================== ---- binutils-2.18.orig/bfd/elf-bfd.h -+++ binutils-2.18/bfd/elf-bfd.h -@@ -1428,9 +1428,6 @@ struct elf_obj_tdata - /* Segment flags for the PT_GNU_STACK segment. */ - unsigned int stack_flags; - -- /* Should the PT_GNU_RELRO segment be emitted? */ -- bfd_boolean relro; -- - /* Symbol version definitions in external objects. */ - Elf_Internal_Verdef *verdef; - -Index: binutils-2.18/bfd/elf.c -=================================================================== ---- binutils-2.18.orig/bfd/elf.c -+++ binutils-2.18/bfd/elf.c -@@ -3321,7 +3321,7 @@ get_program_header_size (bfd *abfd, stru - /* We need a PT_DYNAMIC segment. */ - ++segs; - -- if (elf_tdata (abfd)->relro) -+ if (info->relro) - { - /* We need a PT_GNU_RELRO segment only when there is a - PT_DYNAMIC segment. */ -@@ -3851,7 +3851,7 @@ _bfd_elf_map_sections_to_segments (bfd * - pm = &m->next; - } - -- if (dynsec != NULL && elf_tdata (abfd)->relro) -+ if (dynsec != NULL && info->relro) - { - /* We make a PT_GNU_RELRO segment only when there is a - PT_DYNAMIC segment. */ -@@ -4326,12 +4326,10 @@ assign_file_positions_for_load_sections - p->p_memsz += this_hdr->sh_size; - } - -- if (p->p_type == PT_GNU_RELRO) -- p->p_align = 1; -- else if (align > p->p_align -- && !m->p_align_valid -- && (p->p_type != PT_LOAD -- || (abfd->flags & D_PAGED) == 0)) -+ if (align > p->p_align -+ && !m->p_align_valid -+ && (p->p_type != PT_LOAD -+ || (abfd->flags & D_PAGED) == 0)) - p->p_align = align; - } - -@@ -4480,18 +4478,53 @@ assign_file_positions_for_non_load_secti - if (m->count != 0) - { - if (p->p_type != PT_LOAD -- && (p->p_type != PT_NOTE || bfd_get_format (abfd) != bfd_core)) -+ && (p->p_type != PT_NOTE -+ || bfd_get_format (abfd) != bfd_core)) - { - Elf_Internal_Shdr *hdr; -+ asection *sect; -+ - BFD_ASSERT (!m->includes_filehdr && !m->includes_phdrs); - -- hdr = &elf_section_data (m->sections[m->count - 1])->this_hdr; -- p->p_filesz = (m->sections[m->count - 1]->filepos -- - m->sections[0]->filepos); -+ sect = m->sections[m->count - 1]; -+ hdr = &elf_section_data (sect)->this_hdr; -+ p->p_filesz = sect->filepos - m->sections[0]->filepos; - if (hdr->sh_type != SHT_NOBITS) - p->p_filesz += hdr->sh_size; - -- p->p_offset = m->sections[0]->filepos; -+ if (p->p_type == PT_GNU_RELRO) -+ { -+ /* When we get here, we are copying executable -+ or shared library. But we need to use the same -+ linker logic. */ -+ Elf_Internal_Phdr *lp; -+ -+ for (lp = phdrs; lp < phdrs + count; ++lp) -+ { -+ if (lp->p_type == PT_LOAD -+ && lp->p_paddr == p->p_paddr) -+ break; -+ } -+ -+ if (lp < phdrs + count) -+ { -+ /* We should use p_size if it is valid since it -+ may contain the first few bytes of the next -+ SEC_ALLOC section. */ -+ if (m->p_size_valid) -+ p->p_filesz = m->p_size; -+ else -+ abort (); -+ p->p_vaddr = lp->p_vaddr; -+ p->p_offset = lp->p_offset; -+ p->p_memsz = p->p_filesz; -+ p->p_align = 1; -+ } -+ else -+ abort (); -+ } -+ else -+ p->p_offset = m->sections[0]->filepos; - } - } - else -@@ -5080,7 +5113,12 @@ rewrite_elf_program_header (bfd *ibfd, b - } - - if (segment->p_type != PT_LOAD) -- continue; -+ { -+ /* Remove PT_GNU_RELRO segment. */ -+ if (segment->p_type == PT_GNU_RELRO) -+ segment->p_type = PT_NULL; -+ continue; -+ } - - /* Determine if this segment overlaps any previous segments. */ - for (j = 0, segment2 = elf_tdata (ibfd)->phdr; j < i; j++, segment2 ++) -@@ -5604,6 +5642,17 @@ copy_elf_program_header (bfd *ibfd, bfd - map->p_align_valid = 1; - map->p_vaddr_offset = 0; - -+ if (map->p_type == PT_GNU_RELRO -+ && segment->p_filesz == segment->p_memsz) -+ { -+ /* The PT_GNU_RELRO segment may contain the first a few -+ bytes in the .got.plt section even if the whole .got.plt -+ section isn't in the PT_GNU_RELRO segment. We won't -+ change the size of the PT_GNU_RELRO segment. */ -+ map->p_size = segment->p_filesz; -+ map->p_size_valid = 1; -+ } -+ - /* Determine if this segment contains the ELF file header - and if it contains the program headers themselves. */ - map->includes_filehdr = (segment->p_offset == 0 -Index: binutils-2.18/bfd/elflink.c -=================================================================== ---- binutils-2.18.orig/bfd/elflink.c -+++ binutils-2.18/bfd/elflink.c -@@ -5327,7 +5327,6 @@ bfd_elf_size_dynamic_sections (bfd *outp - return TRUE; - - bed = get_elf_backend_data (output_bfd); -- elf_tdata (output_bfd)->relro = info->relro; - if (info->execstack) - elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; - else if (info->noexecstack) -Index: binutils-2.18/include/elf/internal.h -=================================================================== ---- binutils-2.18.orig/include/elf/internal.h -+++ binutils-2.18/include/elf/internal.h -@@ -239,6 +239,8 @@ struct elf_segment_map - bfd_vma p_vaddr_offset; - /* Program segment alignment. */ - bfd_vma p_align; -+ /* Segment size in file and memory */ -+ bfd_vma p_size; - /* Whether the p_flags field is valid; if not, the flags are based - on the section flags. */ - unsigned int p_flags_valid : 1; -@@ -248,6 +250,9 @@ struct elf_segment_map - /* Whether the p_align field is valid; if not, PT_LOAD segment - alignment is based on the default maximum page size. */ - unsigned int p_align_valid : 1; -+ /* Whether the p_size field is valid; if not, the size are based -+ on the section sizes. */ -+ unsigned int p_size_valid : 1; - /* Whether this segment includes the file header. */ - unsigned int includes_filehdr : 1; - /* Whether this segment includes the program headers. */ -@@ -266,11 +271,12 @@ struct elf_segment_map - || segment->p_type == PT_TLS) ? sec_hdr->sh_size : 0) - - /* Decide if the given sec_hdr is in the given segment. PT_TLS segment -- contains only SHF_TLS sections. Only PT_LOAD and PT_TLS segments -- can contain SHF_TLS sections. */ -+ contains only SHF_TLS sections. Only PT_LOAD, PT_GNU_RELRO and -+ and PT_TLS segments can contain SHF_TLS sections. */ - #define ELF_IS_SECTION_IN_SEGMENT(sec_hdr, segment) \ - (((((sec_hdr->sh_flags & SHF_TLS) != 0) \ - && (segment->p_type == PT_TLS \ -+ || segment->p_type == PT_GNU_RELRO \ - || segment->p_type == PT_LOAD)) \ - || ((sec_hdr->sh_flags & SHF_TLS) == 0 \ - && segment->p_type != PT_TLS)) \ -Index: binutils-2.18/ld/ldexp.c -=================================================================== ---- binutils-2.18.orig/ld/ldexp.c -+++ binutils-2.18/ld/ldexp.c -@@ -390,6 +390,7 @@ fold_binary (etree_type *tree) - break; - - case DATA_SEGMENT_ALIGN: -+ expld.dataseg.relro = exp_dataseg_relro_start; - if (expld.phase != lang_first_phase_enum - && expld.section == bfd_abs_section_ptr - && (expld.dataseg.phase == exp_dataseg_none -@@ -425,6 +426,7 @@ fold_binary (etree_type *tree) - break; - - case DATA_SEGMENT_RELRO_END: -+ expld.dataseg.relro = exp_dataseg_relro_end; - if (expld.phase != lang_first_phase_enum - && (expld.dataseg.phase == exp_dataseg_align_seen - || expld.dataseg.phase == exp_dataseg_adjust -Index: binutils-2.18/ld/ldexp.h -=================================================================== ---- binutils-2.18.orig/ld/ldexp.h -+++ binutils-2.18/ld/ldexp.h -@@ -98,6 +98,8 @@ typedef enum { - lang_final_phase_enum - } lang_phase_type; - -+union lang_statement_union; -+ - struct ldexp_control { - /* Modify expression evaluation depending on this. */ - lang_phase_type phase; -@@ -125,6 +127,15 @@ struct ldexp_control { - } phase; - - bfd_vma base, min_base, relro_end, end, pagesize, maxpagesize; -+ -+ enum { -+ exp_dataseg_relro_none, -+ exp_dataseg_relro_start, -+ exp_dataseg_relro_end, -+ } relro; -+ -+ union lang_statement_union *relro_start_stat; -+ union lang_statement_union *relro_end_stat; - } dataseg; - }; - -Index: binutils-2.18/ld/ldlang.c -=================================================================== ---- binutils-2.18.orig/ld/ldlang.c -+++ binutils-2.18/ld/ldlang.c -@@ -4631,10 +4631,32 @@ lang_size_sections_1 - bfd_vma newdot = dot; - etree_type *tree = s->assignment_statement.exp; - -+ expld.dataseg.relro = exp_dataseg_relro_none; -+ - exp_fold_tree (tree, - output_section_statement->bfd_section, - &newdot); - -+ if (expld.dataseg.relro == exp_dataseg_relro_start) -+ { -+ if (!expld.dataseg.relro_start_stat) -+ expld.dataseg.relro_start_stat = s; -+ else -+ { -+ ASSERT (expld.dataseg.relro_start_stat == s); -+ } -+ } -+ else if (expld.dataseg.relro == exp_dataseg_relro_end) -+ { -+ if (!expld.dataseg.relro_end_stat) -+ expld.dataseg.relro_end_stat = s; -+ else -+ { -+ ASSERT (expld.dataseg.relro_end_stat == s); -+ } -+ } -+ expld.dataseg.relro = exp_dataseg_relro_none; -+ - /* This symbol is relative to this section. */ - if ((tree->type.node_class == etree_provided - || tree->type.node_class == etree_assign) -@@ -5660,6 +5682,81 @@ lang_gc_sections (void) - bfd_gc_sections (output_bfd, &link_info); - } - -+/* Worker for lang_find_relro_sections_1. */ -+ -+static void -+find_relro_section_callback (lang_wild_statement_type *ptr ATTRIBUTE_UNUSED, -+ struct wildcard_list *sec ATTRIBUTE_UNUSED, -+ asection *section, -+ lang_input_statement_type *file ATTRIBUTE_UNUSED, -+ void *data) -+{ -+ /* Discarded, excluded and ignored sections effectively have zero -+ size. */ -+ if (section->output_section != NULL -+ && section->output_section->owner == output_bfd -+ && (section->output_section->flags & SEC_EXCLUDE) == 0 -+ && !IGNORE_SECTION (section) -+ && section->size != 0) -+ { -+ bfd_boolean *has_relro_section = (bfd_boolean *) data; -+ *has_relro_section = TRUE; -+ } -+} -+ -+/* Iterate over sections for relro sections. */ -+ -+static void -+lang_find_relro_sections_1 (lang_statement_union_type *s, -+ bfd_boolean *has_relro_section) -+{ -+ if (*has_relro_section) -+ return; -+ -+ for (; s != NULL; s = s->header.next) -+ { -+ if (s == expld.dataseg.relro_end_stat) -+ break; -+ -+ switch (s->header.type) -+ { -+ case lang_wild_statement_enum: -+ walk_wild (&s->wild_statement, -+ find_relro_section_callback, -+ has_relro_section); -+ break; -+ case lang_constructors_statement_enum: -+ lang_find_relro_sections_1 (constructor_list.head, -+ has_relro_section); -+ break; -+ case lang_output_section_statement_enum: -+ lang_find_relro_sections_1 (s->output_section_statement.children.head, -+ has_relro_section); -+ break; -+ case lang_group_statement_enum: -+ lang_find_relro_sections_1 (s->group_statement.children.head, -+ has_relro_section); -+ break; -+ default: -+ break; -+ } -+ } -+} -+ -+static void -+lang_find_relro_sections (void) -+{ -+ bfd_boolean has_relro_section = FALSE; -+ -+ /* Check all sections in the link script. */ -+ -+ lang_find_relro_sections_1 (expld.dataseg.relro_start_stat, -+ &has_relro_section); -+ -+ if (!has_relro_section) -+ link_info.relro = FALSE; -+} -+ - /* Relax all sections until bfd_relax_section gives up. */ - - static void -@@ -5787,6 +5884,10 @@ lang_process (void) - section positions, since they will affect SIZEOF_HEADERS. */ - lang_record_phdrs (); - -+ /* Check relro sections. */ -+ if (link_info.relro && ! link_info.relocatable) -+ lang_find_relro_sections (); -+ - /* Size up the sections. */ - lang_size_sections (NULL, !command_line.relax); - -Index: binutils-2.18/ld/testsuite/ld-elf/binutils.exp -=================================================================== ---- binutils-2.18.orig/ld/testsuite/ld-elf/binutils.exp -+++ binutils-2.18/ld/testsuite/ld-elf/binutils.exp -@@ -104,24 +104,42 @@ binutils_test strip "-shared" maxpage1 - binutils_test objcopy "" maxpage1 - binutils_test objcopy "-shared" maxpage1 - --binutils_test strip "-z relro" maxpage1 --binutils_test strip "-z relro -shared" maxpage1 --binutils_test objcopy "-z relro" maxpage1 --binutils_test objcopy "-z relro -shared" maxpage1 -+binutils_test strip "-z relro" relro1 -+binutils_test strip "-z relro -shared" relro1 -+binutils_test objcopy "-z relro" relro1 -+binutils_test objcopy "-z relro -shared" relro1 -+if { ([istarget "i?86-*-elf*"] -+ || ([istarget "i?86-*-linux*"] -+ && ![istarget "*-*-*aout*"] -+ && ![istarget "*-*-*oldld*"]) -+ || [istarget "x86_64-*-linux*"] -+ || [istarget "amd64-*-linux*"]) } { -+ binutils_test strip "-z relro -shared" relro2 -+ binutils_test objcopy "-z relro -shared" relro2 -+} - - binutils_test objcopy "" tbss1 -+binutils_test objcopy "-z relro" tbss1 - binutils_test objcopy "-shared" tbss1 -+binutils_test objcopy "-shared -z relro" tbss1 - binutils_test objcopy "-z max-page-size=0x100000" tbss1 - binutils_test objcopy "-z max-page-size=0x100000 -z common-page-size=0x1000" tbss1 - binutils_test objcopy "" tdata1 -+binutils_test objcopy "-z relro" tdata1 - binutils_test objcopy "-shared" tdata1 -+binutils_test objcopy "-shared -z relro" tdata1 - binutils_test objcopy "-z max-page-size=0x100000" tdata1 - binutils_test objcopy "-z max-page-size=0x100000 -z common-page-size=0x1000" tdata1 - binutils_test objcopy "" tbss2 -+binutils_test objcopy "-z relro" tbss2 - binutils_test objcopy "-shared" tbss2 -+binutils_test objcopy "-shared -z relro" tbss2 - binutils_test objcopy "-z max-page-size=0x100000" tbss2 - binutils_test objcopy "-z max-page-size=0x100000 -z common-page-size=0x1000" tbss2 --binutils_test objcopy "-z max-page-size=0x100000" tdata2 -+ - binutils_test objcopy "" tdata2 -+binutils_test objcopy "-z relro" tdata2 - binutils_test objcopy "-shared" tdata2 -+binutils_test objcopy "-shared -z relro" tdata2 -+binutils_test objcopy "-z max-page-size=0x100000" tdata2 - binutils_test objcopy "-z max-page-size=0x100000 -z common-page-size=0x1000" tdata2 -Index: binutils-2.18/ld/testsuite/ld-elf/relro1.s -=================================================================== ---- /dev/null -+++ binutils-2.18/ld/testsuite/ld-elf/relro1.s -@@ -0,0 +1,14 @@ -+ .globl main -+ .globl start -+ .globl _start -+ .globl __start -+ .text -+main: -+start: -+_start: -+__start: -+ .long 0 -+ .data -+ .long 0 -+ .section .data.rel.ro,"aw",%progbits -+ .long 0 -Index: binutils-2.18/ld/testsuite/ld-elf/relro2.s -=================================================================== ---- /dev/null -+++ binutils-2.18/ld/testsuite/ld-elf/relro2.s -@@ -0,0 +1,5 @@ -+ .text -+ .globl x -+ .type x, @function -+x: -+ jmp foo@PLT diff --git a/patches/binutils-2.18/generic/gentoo/42_all_012_check_ldrunpath_length.patch b/patches/binutils-2.18/generic/gentoo/42_all_012_check_ldrunpath_length.patch deleted file mode 100644 index e03eca8..0000000 --- a/patches/binutils-2.18/generic/gentoo/42_all_012_check_ldrunpath_length.patch +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh -e -## 012_check_ldrunpath_length.dpatch by Chris Chimelis -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for -## DP: cases where -rpath isn't specified. (#151024) - -if [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch}" - -case "$1" in - -patch) patch $patch_opts -p1 < $0;; - -unpatch) patch $patch_opts -p1 -R < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1;; -esac - -exit 0 - -@DPATCH@ ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: binutils-2.18/ld/emultempl/elf32.em -=================================================================== ---- binutils-2.18.orig/ld/emultempl/elf32.em -+++ binutils-2.18/ld/emultempl/elf32.em -@@ -1216,6 +1216,8 @@ fragment <, Mike Frysinger - - * bfd/elflink.c (bfd_elf_final_link): Check all objects for TEXTRELs. - * ld/ldmain.c (main): Change textrel warning default to true. - * ld/testsuite/lib/ld-lib.exp (default_ld_simple_link): Scrub TEXTREL - warnings from ld output. - ---- - bfd/elflink.c | 8 +++----- - ld/ldmain.c | 1 + - ld/testsuite/lib/ld-lib.exp | 4 ++++ - 3 files changed, 8 insertions(+), 5 deletions(-) - -Index: binutils-2.18/bfd/elflink.c -=================================================================== ---- binutils-2.18.orig/bfd/elflink.c -+++ binutils-2.18/bfd/elflink.c -@@ -10914,14 +10914,12 @@ bfd_elf_final_link (bfd *abfd, struct bf - goto error_return; - - /* Check for DT_TEXTREL (late, in case the backend removes it). */ -- if (info->warn_shared_textrel && info->shared) -+ o = bfd_get_section_by_name (dynobj, ".dynamic"); -+ if (info->warn_shared_textrel && o != NULL) - { - bfd_byte *dyncon, *dynconend; - - /* Fix up .dynamic entries. */ -- o = bfd_get_section_by_name (dynobj, ".dynamic"); -- BFD_ASSERT (o != NULL); -- - dyncon = o->contents; - dynconend = o->contents + o->size; - for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn) -@@ -10933,7 +10931,7 @@ bfd_elf_final_link (bfd *abfd, struct bf - if (dyn.d_tag == DT_TEXTREL) - { - info->callbacks->einfo -- (_("%P: warning: creating a DT_TEXTREL in a shared object.\n")); -+ (_("%P: warning: creating a DT_TEXTREL in object.\n")); - break; - } - } -Index: binutils-2.18/ld/ldmain.c -=================================================================== ---- binutils-2.18.orig/ld/ldmain.c -+++ binutils-2.18/ld/ldmain.c -@@ -280,6 +280,7 @@ main (int argc, char **argv) - emulation = get_emulation (argc, argv); - ldemul_choose_mode (emulation); - default_target = ldemul_choose_target (argc, argv); -+ link_info.warn_shared_textrel = TRUE; - lang_init (); - ldemul_before_parse (); - lang_has_input_file = FALSE; -Index: binutils-2.18/ld/testsuite/lib/ld-lib.exp -=================================================================== ---- binutils-2.18.orig/ld/testsuite/lib/ld-lib.exp -+++ binutils-2.18/ld/testsuite/lib/ld-lib.exp -@@ -194,6 +194,10 @@ proc default_ld_simple_link { ld target - # symbol, since the default linker script might use ENTRY. - regsub -all "(^|\n)(\[^\n\]*: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output - -+ # Gentoo tweak: -+ # We want to ignore TEXTREL warnings since we force enable them by default -+ regsub -all "^lt-ld-new: warning: creating a DT_TEXTREL in object\." $exec_output "\\1" exec_output -+ - if [string match "" $exec_output] then { - return 1 - } else { diff --git a/patches/binutils-2.18/generic/gentoo/76_all_only-use-new-ld-dtags.patch.disabled b/patches/binutils-2.18/generic/gentoo/76_all_only-use-new-ld-dtags.patch.disabled deleted file mode 100644 index f7db0c5..0000000 --- a/patches/binutils-2.18/generic/gentoo/76_all_only-use-new-ld-dtags.patch.disabled +++ /dev/null @@ -1,31 +0,0 @@ -Don't generate RPATH if we're going to be generating RUNPATH. - -need to ponder what ramifications this has before enabling it - ---- - bfd/elflink.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -Index: binutils-2.18/bfd/elflink.c -=================================================================== ---- binutils-2.18.orig/bfd/elflink.c -+++ binutils-2.18/bfd/elflink.c -@@ -5422,11 +5422,15 @@ bfd_elf_size_dynamic_sections (bfd *outp - - indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, rpath, - TRUE); -- if (indx == (bfd_size_type) -1 -- || !_bfd_elf_add_dynamic_entry (info, DT_RPATH, indx)) -+ if (indx == (bfd_size_type) -1) - return FALSE; - -- if (info->new_dtags) -+ if (!info->new_dtags) -+ { -+ if (!_bfd_elf_add_dynamic_entry (info, DT_RPATH, indx)) -+ return FALSE; -+ } -+ else - { - _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, indx); - if (!_bfd_elf_add_dynamic_entry (info, DT_RUNPATH, indx)) diff --git a/patches/binutils-2.18/generic/gentoo/91_all_libiberty-pic.patch b/patches/binutils-2.18/generic/gentoo/91_all_libiberty-pic.patch deleted file mode 100644 index 9a5ebeb..0000000 --- a/patches/binutils-2.18/generic/gentoo/91_all_libiberty-pic.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- - libiberty/Makefile.in | 1 + - 1 file changed, 1 insertion(+) - -Index: binutils-2.18/libiberty/Makefile.in -=================================================================== ---- binutils-2.18.orig/libiberty/Makefile.in -+++ binutils-2.18/libiberty/Makefile.in -@@ -225,6 +225,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA - $(AR) $(AR_FLAGS) $(TARGETLIB) \ - $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \ - $(RANLIB) $(TARGETLIB); \ -+ cp $(TARGETLIB) ../ ; \ - cd ..; \ - else true; fi - diff --git a/patches/binutils-2.18/generic/gentoo/no_63_all_binutils-2.18-pt-pax-flags-20070828.patch b/patches/binutils-2.18/generic/gentoo/no_63_all_binutils-2.18-pt-pax-flags-20070828.patch deleted file mode 100644 index 4c0c1a5..0000000 --- a/patches/binutils-2.18/generic/gentoo/no_63_all_binutils-2.18-pt-pax-flags-20070828.patch +++ /dev/null @@ -1,263 +0,0 @@ ---- - bfd/elf-bfd.h | 3 +++ - bfd/elf.c | 27 ++++++++++++++++++++++++++- - bfd/elflink.c | 24 +++++++++++++++++++++--- - binutils/readelf.c | 1 + - include/bfdlink.h | 8 ++++++++ - include/elf/common.h | 16 ++++++++++++++++ - ld/emultempl/elf32.em | 12 ++++++++++++ - ld/ldgram.y | 2 ++ - 8 files changed, 89 insertions(+), 4 deletions(-) - -Index: binutils-2.18/bfd/elf-bfd.h -=================================================================== ---- binutils-2.18.orig/bfd/elf-bfd.h -+++ binutils-2.18/bfd/elf-bfd.h -@@ -1428,6 +1428,9 @@ struct elf_obj_tdata - /* Segment flags for the PT_GNU_STACK segment. */ - unsigned int stack_flags; - -+ /* Segment flags for the PT_PAX_FLAGS segment. */ -+ unsigned int pax_flags; -+ - /* Symbol version definitions in external objects. */ - Elf_Internal_Verdef *verdef; - -Index: binutils-2.18/bfd/elf.c -=================================================================== ---- binutils-2.18.orig/bfd/elf.c -+++ binutils-2.18/bfd/elf.c -@@ -1085,6 +1085,7 @@ get_segment_type (unsigned int p_type) - case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break; - case PT_GNU_STACK: pt = "STACK"; break; - case PT_GNU_RELRO: pt = "RELRO"; break; -+ case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break; - default: pt = NULL; break; - } - return pt; -@@ -2361,6 +2362,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_In - case PT_GNU_RELRO: - return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "relro"); - -+ case PT_PAX_FLAGS: -+ return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "pax_flags"); -+ - default: - /* Check for any processor-specific program segment types. */ - bed = get_elf_backend_data (abfd); -@@ -3341,6 +3345,11 @@ get_program_header_size (bfd *abfd, stru - ++segs; - } - -+ { -+ /* We need a PT_PAX_FLAGS segment. */ -+ ++segs; -+ } -+ - for (s = abfd->sections; s != NULL; s = s->next) - { - if ((s->flags & SEC_LOAD) != 0 -@@ -3868,6 +3877,20 @@ _bfd_elf_map_sections_to_segments (bfd * - pm = &m->next; - } - -+ { -+ amt = sizeof (struct elf_segment_map); -+ m = bfd_zalloc (abfd, amt); -+ if (m == NULL) -+ goto error_return; -+ m->next = NULL; -+ m->p_type = PT_PAX_FLAGS; -+ m->p_flags = elf_tdata (abfd)->pax_flags; -+ m->p_flags_valid = 1; -+ -+ *pm = m; -+ pm = &m->next; -+ } -+ - free (sections); - elf_tdata (abfd)->segment_map = mfirst; - } -@@ -5043,7 +5066,8 @@ rewrite_elf_program_header (bfd *ibfd, b - 6. PT_TLS segment includes only SHF_TLS sections. - 7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments. - 8. PT_DYNAMIC should not contain empty sections at the beginning -- (with the possible exception of .dynamic). */ -+ (with the possible exception of .dynamic). -+ 9. PT_PAX_FLAGS segments does not include any sections. */ - #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed) \ - ((((segment->p_paddr \ - ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \ -@@ -5051,6 +5075,7 @@ rewrite_elf_program_header (bfd *ibfd, b - && (section->flags & SEC_ALLOC) != 0) \ - || IS_COREFILE_NOTE (segment, section)) \ - && segment->p_type != PT_GNU_STACK \ -+ && segment->p_type != PT_PAX_FLAGS \ - && (segment->p_type != PT_TLS \ - || (section->flags & SEC_THREAD_LOCAL)) \ - && (segment->p_type == PT_LOAD \ -Index: binutils-2.18/bfd/elflink.c -=================================================================== ---- binutils-2.18.orig/bfd/elflink.c -+++ binutils-2.18/bfd/elflink.c -@@ -5327,16 +5327,30 @@ bfd_elf_size_dynamic_sections (bfd *outp - return TRUE; - - bed = get_elf_backend_data (output_bfd); -+ elf_tdata (output_bfd)->pax_flags = PF_NORANDEXEC; -+ -+ if (info->execheap) -+ elf_tdata (output_bfd)->pax_flags |= PF_NOMPROTECT; -+ else if (info->noexecheap) -+ elf_tdata (output_bfd)->pax_flags |= PF_MPROTECT; -+ - if (info->execstack) -- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; -+ { -+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; -+ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP; -+ } - else if (info->noexecstack) -- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W; -+ { -+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W; -+ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP; -+ } - else - { - bfd *inputobj; - asection *notesec = NULL; - int exec = 0; - -+ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP; - for (inputobj = info->input_bfds; - inputobj; - inputobj = inputobj->link_next) -@@ -5349,7 +5363,11 @@ bfd_elf_size_dynamic_sections (bfd *outp - if (s) - { - if (s->flags & SEC_CODE) -- exec = PF_X; -+ { -+ elf_tdata (output_bfd)->pax_flags &= ~PF_NOEMUTRAMP; -+ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP; -+ exec = PF_X; -+ } - notesec = s; - } - else if (bed->default_execstack) -Index: binutils-2.18/binutils/readelf.c -=================================================================== ---- binutils-2.18.orig/binutils/readelf.c -+++ binutils-2.18/binutils/readelf.c -@@ -2469,6 +2469,7 @@ get_segment_type (unsigned long p_type) - return "GNU_EH_FRAME"; - case PT_GNU_STACK: return "GNU_STACK"; - case PT_GNU_RELRO: return "GNU_RELRO"; -+ case PT_PAX_FLAGS: return "PAX_FLAGS"; - - default: - if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC)) -Index: binutils-2.18/include/bfdlink.h -=================================================================== ---- binutils-2.18.orig/include/bfdlink.h -+++ binutils-2.18/include/bfdlink.h -@@ -321,6 +321,14 @@ struct bfd_link_info - /* TRUE if PT_GNU_RELRO segment should be created. */ - unsigned int relro: 1; - -+ /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT -+ flags. */ -+ unsigned int execheap: 1; -+ -+ /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT -+ flags. */ -+ unsigned int noexecheap: 1; -+ - /* TRUE if we should warn when adding a DT_TEXTREL to a shared object. */ - unsigned int warn_shared_textrel: 1; - -Index: binutils-2.18/include/elf/common.h -=================================================================== ---- binutils-2.18.orig/include/elf/common.h -+++ binutils-2.18/include/elf/common.h -@@ -309,6 +309,7 @@ - #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */ - #define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */ - #define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */ -+#define PT_PAX_FLAGS (PT_LOOS + 0x5041580) /* PaX flags */ - - /* Program segment permissions, in program header p_flags field. */ - -@@ -319,6 +320,21 @@ - #define PF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */ - #define PF_MASKPROC 0xF0000000 /* Processor-specific reserved bits */ - -+/* Flags to control PaX behavior. */ -+ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ -+ - /* Values for section header, sh_type field. */ - - #define SHT_NULL 0 /* Section header table entry unused */ -Index: binutils-2.18/ld/emultempl/elf32.em -=================================================================== ---- binutils-2.18.orig/ld/emultempl/elf32.em -+++ binutils-2.18/ld/emultempl/elf32.em -@@ -2136,6 +2136,16 @@ fragment < -#Signed-off-by: Bernhard Rosenkraenzer ---- -# binutils/objcopy.c | 8 +++++--- -# 1 file changed, 5 insertions(+), 3 deletions(-) -# -Index: binutils-2.18/binutils/objcopy.c -=================================================================== ---- binutils-2.18.orig/binutils/objcopy.c -+++ binutils-2.18/binutils/objcopy.c -@@ -2787,8 +2787,9 @@ strip_main (int argc, char *argv[]) - if (preserve_dates) - set_times (tmpname, &statbuf); - if (output_file != tmpname) -- smart_rename (tmpname, output_file ? output_file : argv[i], -- preserve_dates); -+ if (smart_rename (tmpname, output_file ? output_file : argv[i], -+ preserve_dates)) -+ hold_status = 1; - status = hold_status; - } - else -@@ -3411,7 +3412,8 @@ copy_main (int argc, char *argv[]) - if (preserve_dates) - set_times (tmpname, &statbuf); - if (tmpname != output_filename) -- smart_rename (tmpname, input_filename, preserve_dates); -+ if (smart_rename (tmpname, input_filename, preserve_dates)) -+ status = 1; - } - else - unlink_if_ordinary (tmpname); diff --git a/patches/binutils-2.18/generic/series b/patches/binutils-2.18/generic/series deleted file mode 100644 index f4fd1e0..0000000 --- a/patches/binutils-2.18/generic/series +++ /dev/null @@ -1,24 +0,0 @@ -gentoo/03_all_binutils-2.15.92.0.2-ppc64-pie.patch -gentoo/04_all_binutils-2.15.92.0.2-place-orphan.patch -gentoo/07_all_binutils-2.18-windres.patch -gentoo/08_all_binutils-RPATH_ENVVAR-smack.patch -gentoo/09_all_binutils-ld-tests-CXXFLAGS.patch -gentoo/12_all_sh-targets.patch -gentoo/18_all_binutils-makeinfo-version.patch -gentoo/25_all_binutils-for-build-flags.patch -gentoo/30_all_binutils-multitarget-fixup.patch -gentoo/33_all_binutils-gnu-relro-fixups.patch -gentoo/42_all_012_check_ldrunpath_length.patch -gentoo/66_all_binutils-2.17.50.0.2-warn-textrel.patch -gentoo/76_all_only-use-new-ld-dtags.patch.disabled -gentoo/91_all_libiberty-pic.patch - -#gentoo/no_76_all_use-new-ld-dtags.patch -#gentoo/no_77_all_generate-gnu-hash.patch -#gentoo/no_78_all_use-relro.patch - -oe/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch - -uclibc/110-arm-eabi-conf.patch - -0001-HACK-disable-some-docs-to-avoid-using-makeinfo.patch diff --git a/patches/binutils-2.18/generic/uclibc/110-arm-eabi-conf.patch b/patches/binutils-2.18/generic/uclibc/110-arm-eabi-conf.patch deleted file mode 100644 index d510b5d..0000000 --- a/patches/binutils-2.18/generic/uclibc/110-arm-eabi-conf.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: binutils-2.18/configure -=================================================================== ---- binutils-2.18.orig/configure -+++ binutils-2.18/configure -@@ -2235,7 +2235,7 @@ case "${target}" in - arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - noconfigdirs="$noconfigdirs target-libjava target-libobjc" - case ${with_newlib} in -Index: binutils-2.18/configure.ac -=================================================================== ---- binutils-2.18.orig/configure.ac -+++ binutils-2.18/configure.ac -@@ -513,7 +513,7 @@ case "${target}" in - arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - noconfigdirs="$noconfigdirs target-libjava target-libobjc" - case ${with_newlib} in diff --git a/patches/gcc-4.7.2/0050-Backport-PR-target-55981-from-mainline.patch b/patches/gcc-4.7.2/0050-Backport-PR-target-55981-from-mainline.patch deleted file mode 100644 index 87058ac..0000000 --- a/patches/gcc-4.7.2/0050-Backport-PR-target-55981-from-mainline.patch +++ /dev/null @@ -1,120 +0,0 @@ -From: Uros Bizjak -Date: Thu, 17 Jan 2013 22:51:00 +0000 -Subject: [PATCH] Backport PR target/55981 from mainline - - Backport from mainline - 2012-01-17 Uros Bizjak - - PR target/55981 - * config/i386/sync.md (atomic_store): Generate SWImode - store through atomic_store_1. - (atomic_store_1): Macroize insn using SWI mode iterator. - -testsuite/ChangeLog: - - Backport from mainline - 2012-01-17 Uros Bizjak - - PR target/55981 - * gcc.target/pr55981.c: New test. - -Signed-off-by: Michael Olbrich ---- - gcc/ChangeLog | 10 +++++++ - gcc/config/i386/sync.md | 13 +++++++-- - gcc/testsuite/ChangeLog | 8 ++++++ - gcc/testsuite/gcc.target/pr55981.c | 54 ++++++++++++++++++++++++++++++++++++ - 4 files changed, 83 insertions(+), 2 deletions(-) - create mode 100644 gcc/testsuite/gcc.target/pr55981.c - -diff --git a/gcc/config/i386/sync.md b/gcc/config/i386/sync.md -index ddff1e6..79d3305 100644 ---- a/gcc/config/i386/sync.md -+++ b/gcc/config/i386/sync.md -@@ -227,8 +227,9 @@ - DONE; - } - -- /* Otherwise use a normal store. */ -- emit_move_insn (operands[0], operands[1]); -+ /* Otherwise use a store. */ -+ emit_insn (gen_atomic_store_1 (operands[0], operands[1], -+ operands[2])); - } - /* ... followed by an MFENCE, if required. */ - if (model == MEMMODEL_SEQ_CST) -@@ -236,6 +237,14 @@ - DONE; - }) - -+(define_insn "atomic_store_1" -+ [(set (match_operand:SWI 0 "memory_operand" "=m") -+ (unspec:SWI [(match_operand:SWI 1 "" "") -+ (match_operand:SI 2 "const_int_operand")] -+ UNSPEC_MOVA))] -+ "" -+ "mov{}\t{%1, %0|%0, %1}") -+ - (define_insn_and_split "atomic_storedi_fpu" - [(set (match_operand:DI 0 "memory_operand" "=m,m,m") - (unspec:DI [(match_operand:DI 1 "register_operand" "x,m,?r")] -diff --git a/gcc/testsuite/gcc.target/pr55981.c b/gcc/testsuite/gcc.target/pr55981.c -new file mode 100644 -index 0000000..36498d6 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/pr55981.c -@@ -0,0 +1,54 @@ -+/* { dg-do compile { target { ! { ia32 } } } } */ -+/* { dg-options "-O2" } */ -+ -+volatile int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p; -+ -+volatile long long y; -+ -+void -+test () -+{ -+ int a_ = a; -+ int b_ = b; -+ int c_ = c; -+ int d_ = d; -+ int e_ = e; -+ int f_ = f; -+ int g_ = g; -+ int h_ = h; -+ int i_ = i; -+ int j_ = j; -+ int k_ = k; -+ int l_ = l; -+ int m_ = m; -+ int n_ = n; -+ int o_ = o; -+ int p_ = p; -+ -+ int z; -+ -+ for (z = 0; z < 1000; z++) -+ { -+ __atomic_store_n (&y, 0x100000002ll, __ATOMIC_SEQ_CST); -+ __atomic_store_n (&y, 0x300000004ll, __ATOMIC_SEQ_CST); -+ } -+ -+ a = a_; -+ b = b_; -+ c = c_; -+ d = d_; -+ e = e_; -+ f = f_; -+ g = g_; -+ h = h_; -+ i = i_; -+ j = j_; -+ k = k_; -+ l = l_; -+ m = m_; -+ n = n_; -+ o = o_; -+ p = p_; -+} -+ -+/* { dg-final { scan-assembler-times "movabs" 2 } } */ diff --git a/patches/gcc-4.7.2/0051-Backport-PR-target-56028-from-mainline.patch b/patches/gcc-4.7.2/0051-Backport-PR-target-56028-from-mainline.patch deleted file mode 100644 index acebe99..0000000 --- a/patches/gcc-4.7.2/0051-Backport-PR-target-56028-from-mainline.patch +++ /dev/null @@ -1,510 +0,0 @@ -From: uros -Date: Sun, 27 Jan 2013 14:28:19 +0000 -Subject: [PATCH] Backport PR target/56028 from mainline - -Backport from mainline 2013-01-22 Uros Bizjak - - PR target/56028 - * config/i386/i386.md (*movti_internal_rex64): Change (o,riF) - alternative to (o,r). - (*movdi_internal_rex64): Remove (!o,n) alternative. - (DImode immediate->memory splitter): Remove. - (DImode immediate->memory peephole2): Remove. - (movtf): Enable for TARGET_64BIT || TARGET_SSE. - (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r) - alternative to (!o,*r). - (*movtf_internal_sse): New pattern. - (*movxf_internal_rex64): New pattern. - (*movxf_internal): Disable for TARGET_64BIT. - (*movdf_internal_rex64): Remove (!o,F) alternative. - - 2013-01-23 Uros Bizjak - - * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives - involving stack registers slightly. - - 2013-01-24 Uros Bizjak - - * config/i386/constraints.md (Yf): New constraint. - * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead - of f constraint to conditionaly disable x87 register preferences. - (*movdf_internal): Ditto. - (*movsf_internal): Ditto. - - 2012-01-24 Uros Bizjak - - * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative. - (*movtf_internal_rex64): Add (!o,C) alternative - (*movxf_internal_rex64): Ditto. - (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives. - -testsuite/ChangeLog: - - Backport from mainline - 2013-01-22 Uros Bizjak - - PR target/56028 - * gcc.target/i386/pr56028.c: New test. - - 2013-01-24 Uros Bizjak - - * gcc.target/i386/movsd.c: New test. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@195495 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Michael Olbrich ---- - gcc/ChangeLog | 39 ++++++ - gcc/config/i386/constraints.md | 5 + - gcc/config/i386/i386.md | 197 +++++++++++++++++++------------ - gcc/testsuite/ChangeLog | 12 ++ - gcc/testsuite/gcc.target/i386/movsd.c | 15 +++ - gcc/testsuite/gcc.target/i386/pr56028.c | 54 +++++++++ - 6 files changed, 249 insertions(+), 73 deletions(-) - create mode 100644 gcc/testsuite/gcc.target/i386/movsd.c - create mode 100644 gcc/testsuite/gcc.target/i386/pr56028.c - -diff --git a/gcc/config/i386/constraints.md b/gcc/config/i386/constraints.md -index 5a19307..25327dd 100644 ---- a/gcc/config/i386/constraints.md -+++ b/gcc/config/i386/constraints.md -@@ -92,6 +92,7 @@ - ;; p Integer register when TARGET_PARTIAL_REG_STALL is disabled - ;; d Integer register when integer DFmode moves are enabled - ;; x Integer register when integer XFmode moves are enabled -+;; f x87 register when 80387 floating point arithmetic is enabled - - (define_register_constraint "Yz" "TARGET_SSE ? SSE_FIRST_REG : NO_REGS" - "First SSE register (@code{%xmm0}).") -@@ -118,6 +119,10 @@ - "optimize_function_for_speed_p (cfun) ? GENERAL_REGS : NO_REGS" - "@internal Any integer register when integer XFmode moves are enabled.") - -+(define_register_constraint "Yf" -+ "(ix86_fpmath & FPMATH_387) ? FLOAT_REGS : NO_REGS" -+ "@internal Any x87 register when 80387 FP arithmetic is enabled.") -+ - (define_constraint "z" - "@internal Constant call address operand." - (match_operand 0 "constant_call_address_operand")) -diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md -index eace56d..16dafb3 100644 ---- a/gcc/config/i386/i386.md -+++ b/gcc/config/i386/i386.md -@@ -1824,8 +1824,8 @@ - (set_attr "mode" "OI")]) - - (define_insn "*movti_internal_rex64" -- [(set (match_operand:TI 0 "nonimmediate_operand" "=!r,o,x,x,xm") -- (match_operand:TI 1 "general_operand" "riFo,riF,C,xm,x"))] -+ [(set (match_operand:TI 0 "nonimmediate_operand" "=!r,o,x,x,m") -+ (match_operand:TI 1 "general_operand" "riFo,re,C,xm,x"))] - "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))" - { - switch (which_alternative) -@@ -1928,9 +1928,9 @@ - - (define_insn "*movdi_internal_rex64" - [(set (match_operand:DI 0 "nonimmediate_operand" -- "=r,r ,r,m ,!o,*y,m*y,?*y,?r ,?*Ym,*x,m ,*x,*x,?r ,?*Yi,?*x,?*Ym") -+ "=r,r ,r,m ,*y,m*y,?*y,?r ,?*Ym,*x,m ,*x,*x,?r ,?*Yi,?*x,?*Ym") - (match_operand:DI 1 "general_operand" -- "Z ,rem,i,re,n ,C ,*y ,m ,*Ym,r ,C ,*x,*x,m ,*Yi,r ,*Ym,*x"))] -+ "Z ,rem,i,re,C ,*y ,m ,*Ym,r ,C ,*x,*x,m ,*Yi,r ,*Ym,*x"))] - "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))" - { - switch (get_attr_type (insn)) -@@ -1963,9 +1963,6 @@ - case TYPE_MMX: - return "pxor\t%0, %0"; - -- case TYPE_MULTI: -- return "#"; -- - case TYPE_LEA: - return "lea{q}\t{%E1, %0|%0, %E1}"; - -@@ -1983,16 +1980,14 @@ - } - [(set (attr "type") - (cond [(eq_attr "alternative" "4") -- (const_string "multi") -- (eq_attr "alternative" "5") - (const_string "mmx") -- (eq_attr "alternative" "6,7,8,9") -+ (eq_attr "alternative" "5,6,7,8") - (const_string "mmxmov") -- (eq_attr "alternative" "10") -+ (eq_attr "alternative" "9") - (const_string "sselog1") -- (eq_attr "alternative" "11,12,13,14,15") -+ (eq_attr "alternative" "10,11,12,13,14") - (const_string "ssemov") -- (eq_attr "alternative" "16,17") -+ (eq_attr "alternative" "15,16") - (const_string "ssecvt") - (match_operand 1 "pic_32bit_operand" "") - (const_string "lea") -@@ -2009,18 +2004,18 @@ - (const_string "8") - (const_string "*"))) - (set (attr "prefix_rex") -- (if_then_else (eq_attr "alternative" "8,9") -+ (if_then_else (eq_attr "alternative" "7,8") - (const_string "1") - (const_string "*"))) - (set (attr "prefix_data16") -- (if_then_else (eq_attr "alternative" "11") -+ (if_then_else (eq_attr "alternative" "10") - (const_string "1") - (const_string "*"))) - (set (attr "prefix") -- (if_then_else (eq_attr "alternative" "10,11,12,13,14,15") -+ (if_then_else (eq_attr "alternative" "11,12,13,14,15") - (const_string "maybe_vex") - (const_string "orig"))) -- (set_attr "mode" "SI,DI,DI,DI,SI,DI,DI,DI,DI,DI,TI,DI,TI,DI,DI,DI,DI,DI")]) -+ (set_attr "mode" "SI,DI,DI,DI,DI,DI,DI,DI,DI,TI,DI,TI,DI,DI,DI,DI,DI")]) - - ;; Reload patterns to support multi-word load/store - ;; with non-offsetable address. -@@ -2056,41 +2051,6 @@ - DONE; - }) - --;; Convert impossible stores of immediate to existing instructions. --;; First try to get scratch register and go through it. In case this --;; fails, move by 32bit parts. --(define_peephole2 -- [(match_scratch:DI 2 "r") -- (set (match_operand:DI 0 "memory_operand" "") -- (match_operand:DI 1 "immediate_operand" ""))] -- "TARGET_64BIT && !symbolic_operand (operands[1], DImode) -- && !x86_64_immediate_operand (operands[1], DImode)" -- [(set (match_dup 2) (match_dup 1)) -- (set (match_dup 0) (match_dup 2))]) -- --;; We need to define this as both peepholer and splitter for case --;; peephole2 pass is not run. --;; "&& 1" is needed to keep it from matching the previous pattern. --(define_peephole2 -- [(set (match_operand:DI 0 "memory_operand" "") -- (match_operand:DI 1 "immediate_operand" ""))] -- "TARGET_64BIT && !symbolic_operand (operands[1], DImode) -- && !x86_64_immediate_operand (operands[1], DImode) && 1" -- [(set (match_dup 2) (match_dup 3)) -- (set (match_dup 4) (match_dup 5))] -- "split_double_mode (DImode, &operands[0], 2, &operands[2], &operands[4]);") -- --(define_split -- [(set (match_operand:DI 0 "memory_operand" "") -- (match_operand:DI 1 "immediate_operand" ""))] -- "TARGET_64BIT && ((optimize > 0 && flag_peephole2) -- ? epilogue_completed : reload_completed) -- && !symbolic_operand (operands[1], DImode) -- && !x86_64_immediate_operand (operands[1], DImode)" -- [(set (match_dup 2) (match_dup 3)) -- (set (match_dup 4) (match_dup 5))] -- "split_double_mode (DImode, &operands[0], 2, &operands[2], &operands[4]);") -- - (define_insn "*movdi_internal" - [(set (match_operand:DI 0 "nonimmediate_operand" - "=r ,o ,*y,m*y,*y,*x,m ,*x,*x,*x,m ,*x,*x,?*x,?*Ym") -@@ -2798,7 +2758,7 @@ - (define_expand "movtf" - [(set (match_operand:TF 0 "nonimmediate_operand" "") - (match_operand:TF 1 "nonimmediate_operand" ""))] -- "TARGET_SSE2" -+ "TARGET_64BIT || TARGET_SSE2" - { - ix86_expand_move (TFmode, operands); - DONE; -@@ -2810,11 +2770,10 @@ - "" - "ix86_expand_move (mode, operands); DONE;") - --(define_insn "*movtf_internal" -+(define_insn "*movtf_internal_rex64" - [(set (match_operand:TF 0 "nonimmediate_operand" "=x,m,x,?*r ,!o") -- (match_operand:TF 1 "general_operand" "xm,x,C,*roF,F*r"))] -- "TARGET_SSE2 -- && !(MEM_P (operands[0]) && MEM_P (operands[1])) -+ (match_operand:TF 1 "general_operand" "xm,x,C,*roF,*r"))] -+ "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1])) - && (!can_create_pseudo_p () - || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE) - || GET_CODE (operands[1]) != CONST_DOUBLE -@@ -2873,11 +2832,103 @@ - (const_string "TI"))] - (const_string "DI")))]) - -+(define_insn "*movtf_internal_sse2" -+ [(set (match_operand:TF 0 "nonimmediate_operand" "=x,m,x") -+ (match_operand:TF 1 "general_operand" "xm,x,C"))] -+ "TARGET_SSE2 && !TARGET_64BIT -+ && !(MEM_P (operands[0]) && MEM_P (operands[1])) -+ && (!can_create_pseudo_p () -+ || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE) -+ || GET_CODE (operands[1]) != CONST_DOUBLE -+ || (optimize_function_for_size_p (cfun) -+ && standard_sse_constant_p (operands[1]) -+ && !memory_operand (operands[0], TFmode)) -+ || (!TARGET_MEMORY_MISMATCH_STALL -+ && memory_operand (operands[0], TFmode)))" -+{ -+ switch (which_alternative) -+ { -+ case 0: -+ case 1: -+ /* Handle misaligned load/store since we -+ don't have movmisaligntf pattern. */ -+ if (misaligned_operand (operands[0], TFmode) -+ || misaligned_operand (operands[1], TFmode)) -+ { -+ if (get_attr_mode (insn) == MODE_V4SF) -+ return "%vmovups\t{%1, %0|%0, %1}"; -+ else -+ return "%vmovdqu\t{%1, %0|%0, %1}"; -+ } -+ else -+ { -+ if (get_attr_mode (insn) == MODE_V4SF) -+ return "%vmovaps\t{%1, %0|%0, %1}"; -+ else -+ return "%vmovdqa\t{%1, %0|%0, %1}"; -+ } -+ -+ case 2: -+ return standard_sse_constant_opcode (insn, operands[1]); -+ -+ default: -+ gcc_unreachable (); -+ } -+} -+ [(set_attr "type" "ssemov,ssemov,sselog1") -+ (set_attr "prefix" "maybe_vex") -+ (set (attr "mode") -+ (cond [(eq_attr "alternative" "0,2") -+ (if_then_else -+ (match_test "optimize_function_for_size_p (cfun)") -+ (const_string "V4SF") -+ (const_string "TI")) -+ (eq_attr "alternative" "1") -+ (if_then_else -+ (ior (match_test "TARGET_SSE_TYPELESS_STORES") -+ (match_test "optimize_function_for_size_p (cfun)")) -+ (const_string "V4SF") -+ (const_string "TI"))] -+ (const_string "DI")))]) -+ -+(define_insn "*movxf_internal_rex64" -+ [(set (match_operand:XF 0 "nonimmediate_operand" "=f,m,f,?Yx*r ,!o") -+ (match_operand:XF 1 "general_operand" "fm,f,G,Yx*roF,Yx*rC"))] -+ "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1])) -+ && (!can_create_pseudo_p () -+ || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE) -+ || GET_CODE (operands[1]) != CONST_DOUBLE -+ || (optimize_function_for_size_p (cfun) -+ && standard_80387_constant_p (operands[1]) > 0 -+ && !memory_operand (operands[0], XFmode)) -+ || (!TARGET_MEMORY_MISMATCH_STALL -+ && memory_operand (operands[0], XFmode)))" -+{ -+ switch (which_alternative) -+ { -+ case 0: -+ case 1: -+ return output_387_reg_move (insn, operands); -+ -+ case 2: -+ return standard_80387_constant_opcode (operands[1]); -+ -+ case 3: -+ case 4: -+ return "#"; -+ -+ default: -+ gcc_unreachable (); -+ } -+} -+ [(set_attr "type" "fmov,fmov,fmov,multi,multi") -+ (set_attr "mode" "XF,XF,XF,SI,SI")]) -+ - ;; Possible store forwarding (partial memory) stall in alternative 4. - (define_insn "*movxf_internal" - [(set (match_operand:XF 0 "nonimmediate_operand" "=f,m,f,?Yx*r ,!o") -- (match_operand:XF 1 "general_operand" "fm,f,G,Yx*roF,FYx*r"))] -- "!(MEM_P (operands[0]) && MEM_P (operands[1])) -+ (match_operand:XF 1 "general_operand" "fm,f,G,Yx*roF,Yx*rF"))] -+ "!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1])) - && (!can_create_pseudo_p () - || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE) - || GET_CODE (operands[1]) != CONST_DOUBLE -@@ -2909,9 +2960,9 @@ - - (define_insn "*movdf_internal_rex64" - [(set (match_operand:DF 0 "nonimmediate_operand" -- "=f,m,f,?r,?m,?r,!o,x,x,x,m,Yi,r ") -+ "=?Yf*f,?m ,?Yf*f,?r,?m,?r,?r,x,x,x,m,Yi,r ") - (match_operand:DF 1 "general_operand" -- "fm,f,G,rm,r ,F ,F ,C,x,m,x,r ,Yi"))] -+ "Yf*fm ,Yf*f ,G ,rm,rC,C ,F ,C,x,m,x,r ,Yi"))] - "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1])) - && (!can_create_pseudo_p () - || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE) -@@ -2937,10 +2988,10 @@ - return "mov{q}\t{%1, %0|%0, %1}"; - - case 5: -- return "movabs{q}\t{%1, %0|%0, %1}"; -+ return "mov{l}\t{%1, %k0|%k0, %1}"; - - case 6: -- return "#"; -+ return "movabs{q}\t{%1, %0|%0, %1}"; - - case 7: - return standard_sse_constant_opcode (insn, operands[1]); -@@ -2982,22 +3033,20 @@ - [(set (attr "type") - (cond [(eq_attr "alternative" "0,1,2") - (const_string "fmov") -- (eq_attr "alternative" "3,4,5") -+ (eq_attr "alternative" "3,4,5,6") - (const_string "imov") -- (eq_attr "alternative" "6") -- (const_string "multi") - (eq_attr "alternative" "7") - (const_string "sselog1") - ] - (const_string "ssemov"))) - (set (attr "modrm") - (if_then_else -- (and (eq_attr "alternative" "5") (eq_attr "type" "imov")) -+ (and (eq_attr "alternative" "6") (eq_attr "type" "imov")) - (const_string "0") - (const_string "*"))) - (set (attr "length_immediate") - (if_then_else -- (and (eq_attr "alternative" "5") (eq_attr "type" "imov")) -+ (and (eq_attr "alternative" "6") (eq_attr "type" "imov")) - (const_string "8") - (const_string "*"))) - (set (attr "prefix") -@@ -3011,8 +3060,10 @@ - (set (attr "mode") - (cond [(eq_attr "alternative" "0,1,2") - (const_string "DF") -- (eq_attr "alternative" "3,4,5,6,11,12") -+ (eq_attr "alternative" "3,4,6,11,12") - (const_string "DI") -+ (eq_attr "alternative" "5") -+ (const_string "SI") - - /* xorps is one byte shorter. */ - (eq_attr "alternative" "7") -@@ -3050,9 +3101,9 @@ - ;; Possible store forwarding (partial memory) stall in alternative 4. - (define_insn "*movdf_internal" - [(set (match_operand:DF 0 "nonimmediate_operand" -- "=f,m,f,?Yd*r ,!o ,x,x,x,m,*x,*x,*x,m") -+ "=Yf*f,m ,Yf*f,?Yd*r ,!o ,x,x,x,m,*x,*x,*x,m") - (match_operand:DF 1 "general_operand" -- "fm,f,G,Yd*roF,FYd*r,C,x,m,x,C ,*x,m ,*x"))] -+ "Yf*fm,Yf*f,G ,Yd*roF,Yd*rF,C,x,m,x,C ,*x,m ,*x"))] - "!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1])) - && (!can_create_pseudo_p () - || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE) -@@ -3184,9 +3235,9 @@ - - (define_insn "*movsf_internal" - [(set (match_operand:SF 0 "nonimmediate_operand" -- "=f,m,f,?r ,?m,x,x,x,m,!*y,!m,!*y,?Yi,?r,!*Ym,!r") -+ "=Yf*f,m ,Yf*f,?r ,?m,x,x,x,m,!*y,!m,!*y,?Yi,?r,!*Ym,!r") - (match_operand:SF 1 "general_operand" -- "fm,f,G,rmF,Fr,C,x,m,x,m ,*y,*y ,r ,Yi,r ,*Ym"))] -+ "Yf*fm,Yf*f,G ,rmF,rF,C,x,m,x,m ,*y,*y ,r ,Yi,r ,*Ym"))] - "!(MEM_P (operands[0]) && MEM_P (operands[1])) - && (!can_create_pseudo_p () - || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE) -diff --git a/gcc/testsuite/gcc.target/i386/movsd.c b/gcc/testsuite/gcc.target/i386/movsd.c -new file mode 100644 -index 0000000..32a19e7 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/i386/movsd.c -@@ -0,0 +1,15 @@ -+/* { dg-do compile } */ -+/* { dg-options "-O3 -msse2 -mfpmath=sse" } */ -+ -+volatile double y; -+ -+void -+test () -+{ -+ int z; -+ -+ for (z = 0; z < 1000; z++) -+ y = 1.23; -+} -+ -+/* { dg-final { scan-assembler-not "(fld|fst)" } } */ -diff --git a/gcc/testsuite/gcc.target/i386/pr56028.c b/gcc/testsuite/gcc.target/i386/pr56028.c -new file mode 100644 -index 0000000..18ae253 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/i386/pr56028.c -@@ -0,0 +1,54 @@ -+/* { dg-do compile { target { ! { ia32 } } } } */ -+/* { dg-options "-O2" } */ -+ -+volatile int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p; -+ -+volatile long long y; -+ -+void -+test () -+{ -+ int a_ = a; -+ int b_ = b; -+ int c_ = c; -+ int d_ = d; -+ int e_ = e; -+ int f_ = f; -+ int g_ = g; -+ int h_ = h; -+ int i_ = i; -+ int j_ = j; -+ int k_ = k; -+ int l_ = l; -+ int m_ = m; -+ int n_ = n; -+ int o_ = o; -+ int p_ = p; -+ -+ int z; -+ -+ for (z = 0; z < 1000; z++) -+ { -+ y = 0x100000002ll; -+ y = 0x300000004ll; -+ } -+ -+ a = a_; -+ b = b_; -+ c = c_; -+ d = d_; -+ e = e_; -+ f = f_; -+ g = g_; -+ h = h_; -+ i = i_; -+ j = j_; -+ k = k_; -+ l = l_; -+ m = m_; -+ n = n_; -+ o = o_; -+ p = p_; -+} -+ -+/* { dg-final { scan-assembler-times "movabs" 2 } } */ diff --git a/patches/gcc-4.7.2/0100-no-host-includes.patch b/patches/gcc-4.7.2/0100-no-host-includes.patch deleted file mode 100644 index 0d901a7..0000000 --- a/patches/gcc-4.7.2/0100-no-host-includes.patch +++ /dev/null @@ -1,55 +0,0 @@ -From: Marc Kleine-Budde -Date: Tue, 1 Nov 2011 18:25:06 +0100 -Subject: [PATCH] no host includes - -With this patch gcc bails out if you include a host include path into -the searchlist (-I). This patch is not intended for upstream and was -inspired by - -http://www.openembedded.org/repo/org.openembedded.dev/packages/gcc/gcc-4.1.1/zecke-no-host-includes.patch - -Signed-off-by: Marc Kleine-Budde -Signed-off-by: Robert Schwebel ---- - gcc/incpath.c | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -diff --git a/gcc/incpath.c b/gcc/incpath.c -index 6693bf5..edddc73 100644 ---- a/gcc/incpath.c -+++ b/gcc/incpath.c -@@ -429,6 +429,34 @@ add_path (char *path, int chain, int cxx_aware, bool user_supplied_p) - p->construct = 0; - p->user_supplied_p = user_supplied_p; - -+#ifdef CROSS_COMPILE -+ /* A common error when cross compiling is including -+ host headers. This code below will try to fail fast -+ for cross compiling. Currently we consider /usr/include, -+ /opt/include and /sw/include as harmful. */ -+ { -+ unsigned int i; -+ const char *bad_path[] = { -+ "/usr/include", -+ "/usr/local/include", -+ "/sw/include", -+ "/opt/include", -+ }; -+ -+ for (i = 0; i < sizeof(bad_path)/sizeof(bad_path[0]); i++) { -+ if( strstr(p->name, bad_path[i]) == p->name ) { -+ fprintf(stderr,_("\n" -+ "CROSS COMPILE Badness: %s in INCLUDEPATH: %s\n" -+ "\n"), -+ -+ bad_path[i], p->name); -+ -+ exit (FATAL_EXIT_CODE); -+ } -+ } -+ } -+#endif -+ - add_cpp_dir_path (p, chain); - } - diff --git a/patches/gcc-4.7.2/0101-gcc-i386-use-pure64-CLFS-patch.patch b/patches/gcc-4.7.2/0101-gcc-i386-use-pure64-CLFS-patch.patch deleted file mode 100644 index 455593f..0000000 --- a/patches/gcc-4.7.2/0101-gcc-i386-use-pure64-CLFS-patch.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: =?UTF-8?q?Andreas=20Bie=C3=9Fmann?= -Date: Thu, 9 Feb 2012 13:59:12 +0100 -Subject: [PATCH] gcc/i386: use pure64 CLFS patch -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is a modified version of -http://trac.cross-lfs.org/browser/patches/gcc-4.6.0-pure64-1.patch to use /lib -instead of /lib64 for x86_64. -This will only work as generic patch, if we do _not_ build multilib x86 -toolchains. - -Signed-off-by: Andreas Bießmann ---- - gcc/config/i386/linux64.h | 4 ++-- - gcc/config/i386/t-linux64 | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h -index 5b0a212..e4d02cc 100644 ---- a/gcc/config/i386/linux64.h -+++ b/gcc/config/i386/linux64.h -@@ -28,6 +28,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - #define GNU_USER_LINK_EMULATION64 "elf_x86_64" - #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" - --#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" -+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" - #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 -index b5d3985..03d8f32 100644 ---- a/gcc/config/i386/t-linux64 -+++ b/gcc/config/i386/t-linux64 -@@ -34,6 +34,6 @@ - comma=, - MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) - MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) --MULTILIB_OSDIRNAMES = m64=../lib64 --MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) -+MULTILIB_OSDIRNAMES = m64=../lib -+MULTILIB_OSDIRNAMES+= m32=../lib32 - MULTILIB_OSDIRNAMES+= mx32=../libx32 diff --git a/patches/gcc-4.7.2/0102-libgcc-reorder-tmake_file-for-arm-uclinux.patch b/patches/gcc-4.7.2/0102-libgcc-reorder-tmake_file-for-arm-uclinux.patch deleted file mode 100644 index f35a02a..0000000 --- a/patches/gcc-4.7.2/0102-libgcc-reorder-tmake_file-for-arm-uclinux.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Michael Olbrich -Date: Wed, 5 Dec 2012 17:17:52 +0100 -Subject: [PATCH] libgcc: reorder $tmake_file for arm*-*-uclinux* - -arm/t-arm must be first in the list. It overwrites variables instead of -appending, so anything set before is lost. - -Signed-off-by: Michael Olbrich ---- - libgcc/config.host | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libgcc/config.host b/libgcc/config.host -index ef9791b..bcb30fa 100644 ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -339,7 +339,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF - tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" - ;; - arm*-*-uclinux*) # ARM ucLinux -- tmake_file="${tmake_file} t-fixedpoint-gnu-prefix" -+ tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix" - case ${host} in - arm*-*-uclinux*eabi) - tmake_file="${tmake_file} arm/t-bpabi" -@@ -347,7 +347,7 @@ arm*-*-uclinux*) # ARM ucLinux - unwind_header=config/arm/unwind-arm.h - ;; - esac -- tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" -+ tmake_file="$tmake_file arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" - extra_parts="$extra_parts crti.o crtn.o" - ;; - arm*-*-ecos-elf) diff --git a/patches/gcc-4.7.2/0200-also-match-uclibc-when-checking-host-os.patch b/patches/gcc-4.7.2/0200-also-match-uclibc-when-checking-host-os.patch deleted file mode 100644 index df5e1cf..0000000 --- a/patches/gcc-4.7.2/0200-also-match-uclibc-when-checking-host-os.patch +++ /dev/null @@ -1,49 +0,0 @@ -From: Robert Schwebel -Date: Tue, 1 Nov 2011 18:25:07 +0100 -Subject: [PATCH] also match uclibc when checking host os - -This patch was taken from uclibc. - -Signed-off-by: Robert Schwebel ---- - contrib/regression/objs-gcc.sh | 4 ++++ - libjava/classpath/ltconfig | 4 ++-- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh -index 60b0497..6dc7ead 100755 ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ] - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 -diff --git a/libjava/classpath/ltconfig b/libjava/classpath/ltconfig -index 743d951..ae4ea60 100755 ---- a/libjava/classpath/ltconfig -+++ b/libjava/classpath/ltconfig -@@ -603,7 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1247,7 +1247,7 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - version_type=linux - need_lib_prefix=no - need_version=no diff --git a/patches/gcc-4.7.2/0201-missing-execinfo.h.patch b/patches/gcc-4.7.2/0201-missing-execinfo.h.patch deleted file mode 100644 index 29c41f3..0000000 --- a/patches/gcc-4.7.2/0201-missing-execinfo.h.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Robert Schwebel -Date: Tue, 1 Nov 2011 18:25:07 +0100 -Subject: [PATCH] missing execinfo.h - -This patch was taken from uclibc. - -Signed-off-by: Robert Schwebel ---- - boehm-gc/include/gc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/boehm-gc/include/gc.h b/boehm-gc/include/gc.h -index c51e017..a7ba8dc 100644 ---- a/boehm-gc/include/gc.h -+++ b/boehm-gc/include/gc.h -@@ -503,7 +503,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_off_page GC_PROTO((size_t lb)); - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/patches/gcc-4.7.2/0202-c99-snprintf.patch b/patches/gcc-4.7.2/0202-c99-snprintf.patch deleted file mode 100644 index 2df3649..0000000 --- a/patches/gcc-4.7.2/0202-c99-snprintf.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Robert Schwebel -Date: Tue, 1 Nov 2011 18:25:07 +0100 -Subject: [PATCH] c99 snprintf - -This patch was taken from uclibc. - -Signed-off-by: Robert Schwebel ---- - libstdc++-v3/include/c_global/cstdio | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libstdc++-v3/include/c_global/cstdio b/libstdc++-v3/include/c_global/cstdio -index e648475..a3b0ad1 100644 ---- a/libstdc++-v3/include/c_global/cstdio -+++ b/libstdc++-v3/include/c_global/cstdio -@@ -140,7 +140,7 @@ namespace std - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if _GLIBCXX_USE_C99 || defined __UCLIBC__ - - #undef snprintf - #undef vfscanf diff --git a/patches/gcc-4.7.2/0203-libmudflap-susv3-legacy.patch b/patches/gcc-4.7.2/0203-libmudflap-susv3-legacy.patch deleted file mode 100644 index 8171511..0000000 --- a/patches/gcc-4.7.2/0203-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Robert Schwebel -Date: Tue, 1 Nov 2011 18:25:07 +0100 -Subject: [PATCH] libmudflap susv3 legacy - -uclibc does not provide bzero, bcopy, index ... - -This patch was taken from uclibc. - -Signed-off-by: Robert Schwebel ---- - libmudflap/mf-hooks2.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/libmudflap/mf-hooks2.c b/libmudflap/mf-hooks2.c -index c030e69..a5be804 100644 ---- a/libmudflap/mf-hooks2.c -+++ b/libmudflap/mf-hooks2.c -@@ -424,7 +424,7 @@ WRAPPER2(void, bzero, void *s, size_t n) - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -434,7 +434,7 @@ WRAPPER2(void, bcopy, const void *src, void *dest, size_t n) - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -444,7 +444,7 @@ WRAPPER2(int, bcmp, const void *s1, const void *s2, size_t n) - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -453,7 +453,7 @@ WRAPPER2(char *, index, const char *s, int c) - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -462,7 +462,7 @@ WRAPPER2(char *, rindex, const char *s, int c) - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/patches/gcc-4.7.2/0300-libiberty-pic.patch b/patches/gcc-4.7.2/0300-libiberty-pic.patch deleted file mode 100644 index 6ac495a..0000000 --- a/patches/gcc-4.7.2/0300-libiberty-pic.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Marc Kleine-Budde -Date: Tue, 1 Nov 2011 18:25:08 +0100 -Subject: [PATCH] libiberty pic - -Taken from gentoo. - -Signed-off-by: Marc Kleine-Budde -Signed-off-by: Robert Schwebel ---- - libiberty/Makefile.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in -index 5280bc1..d7b99dd 100644 ---- a/libiberty/Makefile.in -+++ b/libiberty/Makefile.in -@@ -248,6 +248,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) - $(AR) $(AR_FLAGS) $(TARGETLIB) \ - $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \ - $(RANLIB) $(TARGETLIB); \ -+ cp $(TARGETLIB) ../ ; \ - cd ..; \ - else true; fi - diff --git a/patches/gcc-4.7.2/0301-libstdc-pic.patch b/patches/gcc-4.7.2/0301-libstdc-pic.patch deleted file mode 100644 index 2166828..0000000 --- a/patches/gcc-4.7.2/0301-libstdc-pic.patch +++ /dev/null @@ -1,58 +0,0 @@ -From: Marc Kleine-Budde -Date: Tue, 1 Nov 2011 18:25:08 +0100 -Subject: [PATCH] libstdc++ pic - -Install libstdc++_pic.a if we have pic objs. Taken from gentoo. - -Signed-off-by: Marc Kleine-Budde -Signed-off-by: Robert Schwebel ---- - libstdc++-v3/src/Makefile.am | 7 +++++++ - libstdc++-v3/src/Makefile.in | 9 ++++++++- - 2 files changed, 15 insertions(+), 1 deletion(-) - -diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am -index a1eb04d..8fdb33e 100644 ---- a/libstdc++-v3/src/Makefile.am -+++ b/libstdc++-v3/src/Makefile.am -@@ -164,6 +164,13 @@ CXXLINK = \ - $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ - - -+install-exec-local: -+ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \ -+ if [ x"$$pic_objs" != x ]; then \ -+ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \ -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \ -+ fi -+ - # Symbol versioning for shared libraries. - if ENABLE_SYMVERS - libstdc++-symbols.ver: ${glibcxx_srcdir}/$(SYMVER_FILE) \ -diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in -index b10d853..871531d 100644 ---- a/libstdc++-v3/src/Makefile.in -+++ b/libstdc++-v3/src/Makefile.in -@@ -732,7 +732,7 @@ install-dvi: install-dvi-recursive - - install-dvi-am: - --install-exec-am: install-toolexeclibLTLIBRARIES -+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local - - install-html: install-html-recursive - -@@ -924,6 +924,13 @@ install-debug: build-debug - (cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' \ - toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install) ; - -+install-exec-local: -+ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \ -+ if [ x"$$pic_objs" != x ]; then \ -+ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \ -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \ -+ fi -+ - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: diff --git a/patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch b/patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch deleted file mode 100644 index a453e35..0000000 --- a/patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch +++ /dev/null @@ -1,137 +0,0 @@ -From: Michael Olbrich -Date: Mon, 3 Dec 2012 13:49:03 +0100 -Subject: [PATCH] add support for arm-linux-*eabi* triplets; useful for armhf - -This is needed to build with e.g. --target=arm-cortexa8-linux-gnueabihf -Taken from Debian. - -Signed-off-by: Michael Olbrich ---- - gcc/ada/gcc-interface/Makefile.in | 2 +- - gcc/config.gcc | 4 ++-- - gcc/testsuite/lib/target-supports.exp | 4 ++-- - libgcc/config.host | 2 +- - libjava/configure.ac | 2 +- - libstdc++-v3/configure.host | 2 +- - .../testsuite/20_util/make_signed/requirements/typedefs-2.cc | 2 +- - .../testsuite/20_util/make_unsigned/requirements/typedefs-2.cc | 2 +- - 8 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in -index f9e7eda..a8ee610 100644 ---- a/gcc/ada/gcc-interface/Makefile.in -+++ b/gcc/ada/gcc-interface/Makefile.in -@@ -1867,7 +1867,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),) - LIBRARY_VERSION := $(LIB_VERSION) - endif - --ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),) -+ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring eabi,$(word 4,$(targ))),,$(word 4,$(targ)))),) - LIBGNAT_TARGET_PAIRS = \ - a-intnam.ads - // -diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc -index a1465d3..5a81789 100644 ---- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc -+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc -@@ -1,5 +1,5 @@ - // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" } --// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } -+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux-*eabi* } } - - // 2007-05-03 Benjamin Kosnik - // diff --git a/patches/gcc-4.7.2/0500-Fix-Argument-list-too-long-error.patch b/patches/gcc-4.7.2/0500-Fix-Argument-list-too-long-error.patch deleted file mode 100644 index 8d5eeae..0000000 --- a/patches/gcc-4.7.2/0500-Fix-Argument-list-too-long-error.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Robert Yang -Date: Wed, 5 Dec 2012 17:20:37 +0100 -Subject: [PATCH] Fix "Argument list too long" error - -There would be an "Argument list too long" error when the -build directory is longer than 200, this is caused by: - -headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u` - -The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle -it, use the $(sort list) of GNU make which can handle the too long list -would fix the problem, the header would be short enough after sorted. -The "tr ' ' '\012'" was used for translating the space to "\n", the -$(sort list) doesn't need this. - -Signed-off-by: Robert Yang - -This was taken from OE. - -Signed-off-by: Michael Olbrich ---- - gcc/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 5c3514d..66c013e 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -4597,7 +4597,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype - # We keep the directory structure for files in config or c-family and .def - # files. All other files are flattened to a single directory. - $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) -- headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`; \ -+ headers="$(sort $(PLUGIN_HEADERS))"; \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ - for file in $$headers; do \ - if [ -f $$file ] ; then \ diff --git a/patches/gcc-4.7.2/0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch b/patches/gcc-4.7.2/0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch deleted file mode 100644 index 9557be4..0000000 --- a/patches/gcc-4.7.2/0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch +++ /dev/null @@ -1,74 +0,0 @@ -From: Michael Olbrich -Date: Sun, 16 Dec 2012 20:05:00 +0100 -Subject: [PATCH] Backport the change to the hard float loader path. Changes - to /lib/ld-linux-armhf.so.3 - -Taken from linaro-gcc. - -2012-05-04 Michael Hope - - Backport from mainline r186859: - - gcc/ - 2012-04-26 Michael Hope - Richard Earnshaw - - * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define. - (GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define. - (GLIBC_DYNAMIC_LINKER_DEFAULT): Define. - (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path. - - Backport from mainline r187012: - - gcc/ - 2012-05-01 Richard Earnshaw - - * arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_DEFAULT): Avoid ifdef - comparing enumeration values. Update comments. - -Signed-off-by: Michael Olbrich ---- - gcc/config/arm/linux-eabi.h | 22 ++++++++++++++++++---- - 1 file changed, 18 insertions(+), 4 deletions(-) - -diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h -index 80bd825..46d3bc6 100644 ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -32,7 +32,8 @@ - while (false) - - /* We default to a soft-float ABI so that binaries can run on all -- target hardware. */ -+ target hardware. If you override this to use the hard-float ABI then -+ change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */ - #undef TARGET_DEFAULT_FLOAT_ABI - #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT - -@@ -59,10 +60,23 @@ - #undef SUBTARGET_EXTRA_LINK_SPEC - #define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION - --/* Use ld-linux.so.3 so that it will be possible to run "classic" -- GNU/Linux binaries on an EABI system. */ -+/* GNU/Linux on ARM currently supports three dynamic linkers: -+ - ld-linux.so.2 - for the legacy ABI -+ - ld-linux.so.3 - for the EABI-derived soft-float ABI -+ - ld-linux-armhf.so.3 - for the EABI-derived hard-float ABI. -+ All the dynamic linkers live in /lib. -+ We default to soft-float, but this can be overridden by changing both -+ GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ -+ - #undef GLIBC_DYNAMIC_LINKER --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3" -+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3" -+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3" -+#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT -+ -+#define GLIBC_DYNAMIC_LINKER \ -+ "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \ -+ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ -+ %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" - - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ diff --git a/patches/gcc-4.7.2/series b/patches/gcc-4.7.2/series deleted file mode 100644 index 7951514..0000000 --- a/patches/gcc-4.7.2/series +++ /dev/null @@ -1,24 +0,0 @@ -# generated by git-ptx-patches -#tag:base -#tag:Upstream --start-number 050 -0050-Backport-PR-target-55981-from-mainline.patch -0051-Backport-PR-target-56028-from-mainline.patch -#tag:OSELAS.toolchain --start-number 100 -0100-no-host-includes.patch -0101-gcc-i386-use-pure64-CLFS-patch.patch -0102-libgcc-reorder-tmake_file-for-arm-uclinux.patch -#tag:uclibc --start-number 200 -0200-also-match-uclibc-when-checking-host-os.patch -0201-missing-execinfo.h.patch -0202-c99-snprintf.patch -0203-libmudflap-susv3-legacy.patch -#tag:gentoo --start-number 300 -0300-libiberty-pic.patch -0301-libstdc-pic.patch -#tag:debian --start-number 400 -0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch -#tag:OpenEmbedded --start-number 500 -0500-Fix-Argument-list-too-long-error.patch -#tag:Linaro --start-number 600 -0600-Backport-the-change-to-the-hard-float-loader-path.-C.patch -# ea3731c90748fd21a473c04e08e5f9f3 - git-ptx-patches magic diff --git a/patches/glibc-2.8/generic/0001--PRIVATE_FUTEX_OFFSET-Guard-sym-definition-with-i.patch b/patches/glibc-2.8/generic/0001--PRIVATE_FUTEX_OFFSET-Guard-sym-definition-with-i.patch deleted file mode 100644 index 108fb46..0000000 --- a/patches/glibc-2.8/generic/0001--PRIVATE_FUTEX_OFFSET-Guard-sym-definition-with-i.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 911474edb03aae49d007e9f238b3134aaa425fe5 Mon Sep 17 00:00:00 2001 -From: Ulrich Drepper -Date: Sat, 26 Jul 2008 16:24:40 +0000 -Subject: [PATCH] (PRIVATE_FUTEX_OFFSET): Guard sym definition with #ifndef __ASSUME_PRIVATE_FUTEX. - -The patch fixes this problem on powerpc with --enable-kernel >= 2.6.22 - -gawk -f ../scripts/gen-as-const.awk ../nptl/sysdeps/powerpc/tcb-offsets.sym \ - | powerpc-603e-linux-gnu-gcc -S -o /home/mkl/himalia-pengutronix/toolchain/OSELAS.Toolchain-trunk/platform-powerpc-603e-linux-gnu-gcc-4.3.2-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized/build-target/glibc-2.8-crt-build/tcb-offsets.hT3 -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -mnew-mnemonics -Wstrict-prototypes -mlong-double-128 -I../include -I/home/mkl/himalia-pengutronix/toolchain/OSELAS.Toolchain-trunk/platform-powerpc-603e-linux-gnu-gcc-4.3.2-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized/build-target/glibc-2.8-crt-build/csu -I/home/mkl/himalia-pengutronix/toolchain/OSELAS.Toolchain-trunk/platform-powerpc-603e-linux-gnu-gcc-4.3.2-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized/build-target/glibc-2.8-crt-build -I../sysdeps/powerpc/powerpc32/elf -I../sysdeps/powerpc/elf -I../sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu -I../sysdeps/powerpc/powerpc32/fpu -I../nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../nptl/sysdeps/unix/sysv/linux/powerpc -I../sysdeps/unix/sysv/linux/powerpc -I../sysdeps/ieee754/ldbl-128ibm -I../sysdeps/ieee754/ldbl-opt -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/powerpc -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/powerpc/powerpc32 -I../sysdeps/wordsize-32 -I../sysdeps/powerpc/fpu -I../nptl/sysdeps/powerpc -I../sysdeps/powerpc -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I.. -I../libio -I. -nostdinc -isystem /ptx/work/himalia/mkl/toolchain/OSELAS.Toolchain-trunk/inst/opt/OSELAS.Toolchain-trunk/powerpc-603e-linux-gnu/gcc-4.3.2-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized/bin/../lib/gcc/powerpc-603e-linux-gnu/4.3.2/include -isystem /ptx/work/himalia/mkl/toolchain/OSELAS.Toolchain-trunk/inst/opt/OSELAS.Toolchain-trunk/powerpc-603e-linux-gnu/gcc-4.3.2-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized/bin/../lib/gcc/powerpc-603e-linux-gnu/4.3.2/include-fixed -isystem /home/mkl/himalia-pengutronix/toolchain/OSELAS.Toolchain-trunk/inst/opt/OSELAS.Toolchain-trunk/powerpc-603e-linux-gnu/gcc-4.3.2-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized/sysroot-powerpc-603e-linux-gnu/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DHAVE_INITFINI -x c - \ - -MD -MP -MF /home/mkl/himalia-pengutronix/toolchain/OSELAS.Toolchain-trunk/platform-powerpc-603e-linux-gnu-gcc-4.3.2-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized/build-target/glibc-2.8-crt-build/tcb-offsets.h.dT -MT '/home/mkl/himalia-pengutronix/toolchain/OSELAS.Toolchain-trunk/platform-powerpc-603e-linux-gnu-gcc-4.3.2-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized/build-target/glibc-2.8-crt-build/tcb-offsets.h.d /home/mkl/himalia-pengutronix/toolchain/OSELAS.Toolchain-trunk/platform-powerpc-603e-linux-gnu-gcc-4.3.2-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized/build-target/glibc-2.8-crt-build/tcb-offsets.h' -: In function 'dummy': -:13: error: 'struct ' has no member named 'private_futex' - -Signed-off-by: Marc Kleine-Budde - ---- - nptl/sysdeps/powerpc/tcb-offsets.sym | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/nptl/sysdeps/powerpc/tcb-offsets.sym b/nptl/sysdeps/powerpc/tcb-offsets.sym -index eda43dc..8ac133d 100644 ---- a/nptl/sysdeps/powerpc/tcb-offsets.sym -+++ b/nptl/sysdeps/powerpc/tcb-offsets.sym -@@ -15,4 +15,6 @@ MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads) - PID thread_offsetof (pid) - TID thread_offsetof (tid) - POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) -+#ifndef __ASSUME_PRIVATE_FUTEX - PRIVATE_FUTEX_OFFSET thread_offsetof (header.private_futex) -+#endif --- -1.5.6.5 - diff --git a/patches/glibc-2.8/generic/configure-sane_readelf.diff b/patches/glibc-2.8/generic/configure-sane_readelf.diff deleted file mode 100644 index cce10eb..0000000 --- a/patches/glibc-2.8/generic/configure-sane_readelf.diff +++ /dev/null @@ -1,119 +0,0 @@ ---- - configure | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 88 insertions(+), 2 deletions(-) - -Index: glibc-2.8-20080811/configure -=================================================================== ---- glibc-2.8-20080811.orig/configure -+++ glibc-2.8-20080811/configure -@@ -5988,6 +5988,92 @@ _ACEOF - fi - fi - -+ # Extract the first word of "$target_alias-readelf", so it can be a program name with args. -+set dummy $target_alias-readelf; ac_word=$2 -+{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -+if test "${ac_cv_prog_READELF+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$READELF"; then -+ ac_cv_prog_READELF="$READELF" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_READELF="$target_alias-readelf" -+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+fi -+fi -+READELF=$ac_cv_prog_READELF -+if test -n "$READELF"; then -+ { echo "$as_me:$LINENO: result: $READELF" >&5 -+echo "${ECHO_T}$READELF" >&6; } -+else -+ { echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6; } -+fi -+ -+ -+if test -z "$ac_cv_prog_READELF"; then -+ if test "$build" = "$target"; then -+ ac_ct_READELF=$READELF -+ # Extract the first word of "readelf", so it can be a program name with args. -+set dummy readelf; ac_word=$2 -+{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -+if test "${ac_cv_prog_ac_ct_READELF+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$ac_ct_READELF"; then -+ ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_ac_ct_READELF="readelf" -+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+ test -z "$ac_cv_prog_ac_ct_READELF" && ac_cv_prog_ac_ct_READELF="readelf" -+fi -+fi -+ac_ct_READELF=$ac_cv_prog_ac_ct_READELF -+if test -n "$ac_ct_READELF"; then -+ { echo "$as_me:$LINENO: result: $ac_ct_READELF" >&5 -+echo "${ECHO_T}$ac_ct_READELF" >&6; } -+else -+ { echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6; } -+fi -+ -+ READELF=ac_ct_READELF -+ else -+ READELF="readelf" -+ fi -+else -+ READELF="$ac_cv_prog_READELF" -+fi -+ -+ - { echo "$as_me:$LINENO: checking for .preinit_array/.init_array/.fini_array support" >&5 - echo $ECHO_N "checking for .preinit_array/.init_array/.fini_array support... $ECHO_C" >&6; } - if test "${libc_cv_initfini_array+set}" = set; then -@@ -6007,7 +6093,7 @@ EOF - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } - then -- if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then -+ if ${READELF} -S conftest | fgrep INIT_ARRAY > /dev/null; then - libc_cv_initfini_array=yes - else - libc_cv_initfini_array=no -@@ -6307,7 +6393,7 @@ EOF - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } - then -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if ${READELF} -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/patches/glibc-2.8/generic/configure_in-sane_readelf.diff b/patches/glibc-2.8/generic/configure_in-sane_readelf.diff deleted file mode 100644 index ee7a727..0000000 --- a/patches/glibc-2.8/generic/configure_in-sane_readelf.diff +++ /dev/null @@ -1,35 +0,0 @@ ---- - configure.in | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -Index: glibc-2.8-20080811/configure.in -=================================================================== ---- glibc-2.8-20080811.orig/configure.in -+++ glibc-2.8-20080811/configure.in -@@ -1354,6 +1354,8 @@ EOF - fi - fi - -+ AC_CHECK_TARGET_TOOL([READELF],[readelf],[readelf],[$PATH]) -+ - AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support, - libc_cv_initfini_array, [dnl - cat > conftest.c <&AS_MESSAGE_LOG_FD]) - then -- if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then -+ if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then - libc_cv_initfini_array=yes - else - libc_cv_initfini_array=no -@@ -1550,7 +1552,7 @@ dnl cross-platform since the gcc used ca - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/patches/glibc-2.8/generic/gentoo/0030_all_glibc-respect-env-CPPFLAGS.patch b/patches/glibc-2.8/generic/gentoo/0030_all_glibc-respect-env-CPPFLAGS.patch deleted file mode 100644 index a0e2dbd..0000000 --- a/patches/glibc-2.8/generic/gentoo/0030_all_glibc-respect-env-CPPFLAGS.patch +++ /dev/null @@ -1,32 +0,0 @@ -Respect environment CPPFLAGS when we run ./configure so we can inject -random -D things without having to set CFLAGS/ASFLAGS - ---- - Makeconfig | 1 + - config.make.in | 1 + - 2 files changed, 2 insertions(+) - -Index: glibc-2.8-20080811/Makeconfig -=================================================================== ---- glibc-2.8-20080811.orig/Makeconfig -+++ glibc-2.8-20080811/Makeconfig -@@ -673,6 +673,7 @@ CPPFLAGS = $($(subdir)-CPPFLAGS) $(+incl - $(foreach lib,$(libof-$(basename $(@F))) \ - $(libof-$( - - * sysdeps/i386/i586/memcpy_chk.S: New file. - * sysdeps/i386/i586/mempcpy_chk.S: Likewise. - * sysdeps/i386/i586/memset_chk.S: Likewise. - ---- - i386/i586/memcpy_chk.S | 1 + - i386/i586/mempcpy_chk.S | 1 + - i386/i586/memset_chk.S | 1 + - 3 files changed, 3 insertions(+) - -Index: glibc-2.8-20080811/i386/i586/memcpy_chk.S -=================================================================== ---- /dev/null -+++ glibc-2.8-20080811/i386/i586/memcpy_chk.S -@@ -0,0 +1 @@ -+#include -Index: glibc-2.8-20080811/i386/i586/mempcpy_chk.S -=================================================================== ---- /dev/null -+++ glibc-2.8-20080811/i386/i586/mempcpy_chk.S -@@ -0,0 +1 @@ -+#include -Index: glibc-2.8-20080811/i386/i586/memset_chk.S -=================================================================== ---- /dev/null -+++ glibc-2.8-20080811/i386/i586/memset_chk.S -@@ -0,0 +1 @@ -+#include diff --git a/patches/glibc-2.8/generic/gentoo/0070_all_glibc-i386-x86_64-revert-clone-cfi.patch b/patches/glibc-2.8/generic/gentoo/0070_all_glibc-i386-x86_64-revert-clone-cfi.patch deleted file mode 100644 index e79e024..0000000 --- a/patches/glibc-2.8/generic/gentoo/0070_all_glibc-i386-x86_64-revert-clone-cfi.patch +++ /dev/null @@ -1,55 +0,0 @@ -revert cfi additions to clone on i386/x86_64 to workaround problems in -gcc's unwinder code. this is not a bug in glibc, it triggers problems -elsewhere. this cfi code does not gain us a whole lot anyways. - -http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html - ---- - sysdeps/unix/sysv/linux/i386/clone.S | 4 ---- - sysdeps/unix/sysv/linux/x86_64/clone.S | 4 ---- - 2 files changed, 8 deletions(-) - -Index: glibc-2.8-20080811/sysdeps/unix/sysv/linux/i386/clone.S -=================================================================== ---- glibc-2.8-20080811.orig/sysdeps/unix/sysv/linux/i386/clone.S -+++ glibc-2.8-20080811/sysdeps/unix/sysv/linux/i386/clone.S -@@ -120,9 +120,6 @@ L(pseudo_end): - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (eip); - /* Note: %esi is zero. */ - movl %esi,%ebp /* terminate the stack frame */ - #ifdef RESET_PID -@@ -155,7 +152,6 @@ L(nomoregetpid): - jmp L(haspid) - .previous - #endif -- cfi_endproc; - - cfi_startproc - PSEUDO_END (BP_SYM (__clone)) -Index: glibc-2.8-20080811/sysdeps/unix/sysv/linux/x86_64/clone.S -=================================================================== ---- glibc-2.8-20080811.orig/sysdeps/unix/sysv/linux/x86_64/clone.S -+++ glibc-2.8-20080811/sysdeps/unix/sysv/linux/x86_64/clone.S -@@ -89,9 +89,6 @@ L(pseudo_end): - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (rip); - /* Clear the frame pointer. The ABI suggests this be done, to mark - the outermost frame obviously. */ - xorl %ebp, %ebp -@@ -116,7 +113,6 @@ L(thread_start): - /* Call exit with return value from function call. */ - movq %rax, %rdi - call HIDDEN_JUMPTARGET (_exit) -- cfi_endproc; - - cfi_startproc; - PSEUDO_END (BP_SYM (__clone)) diff --git a/patches/glibc-2.8/generic/gentoo/1010_all_glibc-queue-header-updates.patch b/patches/glibc-2.8/generic/gentoo/1010_all_glibc-queue-header-updates.patch deleted file mode 100644 index 9110f1c..0000000 --- a/patches/glibc-2.8/generic/gentoo/1010_all_glibc-queue-header-updates.patch +++ /dev/null @@ -1,89 +0,0 @@ -grab some updates from FreeBSD - -http://bugs.gentoo.org/201979 - ---- - misc/sys/queue.h | 37 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -Index: glibc-2.8-20080811/misc/sys/queue.h -=================================================================== ---- glibc-2.8-20080811.orig/misc/sys/queue.h -+++ glibc-2.8-20080811/misc/sys/queue.h -@@ -136,6 +136,11 @@ struct { \ - (var); \ - (var) = ((var)->field.le_next)) - -+#define LIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = LIST_FIRST((head)); \ -+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - /* - * List access methods. - */ -@@ -197,6 +202,16 @@ struct { \ - #define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = SLIST_FIRST((head)); \ -+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ -+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \ -+ for ((varp) = &SLIST_FIRST((head)); \ -+ ((var) = *(varp)) != NULL; \ -+ (varp) = &SLIST_NEXT((var), field)) -+ - /* - * Singly-linked List access methods. - */ -@@ -242,6 +257,12 @@ struct { \ - (head)->stqh_last = &(elm)->field.stqe_next; \ - } while (/*CONSTCOND*/0) - -+#define STAILQ_LAST(head, type, field) \ -+ (STAILQ_EMPTY((head)) ? \ -+ NULL : \ -+ ((struct type *)(void *) \ -+ ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) -+ - #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ -@@ -286,6 +307,11 @@ struct { \ - #define STAILQ_FIRST(head) ((head)->stqh_first) - #define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) - -+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = STAILQ_FIRST((head)); \ -+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - - /* - * Simple queue definitions. -@@ -437,11 +463,22 @@ struct { \ - (var); \ - (var) = ((var)->field.tqe_next)) - -+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = TAILQ_FIRST((head)); \ -+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ -+ for ((var) = TAILQ_LAST((head), headname); \ -+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ -+ (var) = (tvar)) -+ -+ - #define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ diff --git a/patches/glibc-2.8/generic/gentoo/1030_all_glibc-manual-no-perl.patch b/patches/glibc-2.8/generic/gentoo/1030_all_glibc-manual-no-perl.patch deleted file mode 100644 index 5b11ce0..0000000 --- a/patches/glibc-2.8/generic/gentoo/1030_all_glibc-manual-no-perl.patch +++ /dev/null @@ -1,29 +0,0 @@ -If we're using a cvs snapshot which updates the source files, and -perl isn't installed yet, then we can't regen the docs. Not a big -deal, so just whine a little and continue on our merry way. - -http://bugs.gentoo.org/60132 - ---- - manual/Makefile | 5 +++++ - 1 file changed, 5 insertions(+) - -Index: glibc-2.8-20080811/manual/Makefile -=================================================================== ---- glibc-2.8-20080811.orig/manual/Makefile -+++ glibc-2.8-20080811/manual/Makefile -@@ -104,9 +104,14 @@ dir-add.texi: xtract-typefun.awk $(texis - libm-err.texi: stamp-libm-err - stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) -+ifneq ($(PERL),no) - pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > libm-err-tmp - $(move-if-change) libm-err-tmp libm-err.texi -+else -+ echo "Unable to rebuild math docs, no perl installed" -+ touch libm-err.texi -+endif - touch $@ - - # Generate Texinfo files from the C source for the example programs. diff --git a/patches/glibc-2.8/generic/gentoo/1040_all_2.3.3-localedef-fix-trampoline.patch b/patches/glibc-2.8/generic/gentoo/1040_all_2.3.3-localedef-fix-trampoline.patch deleted file mode 100644 index 636dda6..0000000 --- a/patches/glibc-2.8/generic/gentoo/1040_all_2.3.3-localedef-fix-trampoline.patch +++ /dev/null @@ -1,74 +0,0 @@ -#! /bin/sh -e - -# DP: Description: Fix localedef segfault when run under exec-shield, -# PaX or similar. (#231438, #198099) -# DP: Dpatch Author: James Troup -# DP: Patch Author: (probably) Jakub Jelinek -# DP: Upstream status: Unknown -# DP: Status Details: Unknown -# DP: Date: 2004-03-16 - -if [ $# -ne 2 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; - -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - ---- - locale/programs/3level.h | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - -Index: glibc-2.8-20080811/locale/programs/3level.h -=================================================================== ---- glibc-2.8-20080811.orig/locale/programs/3level.h -+++ glibc-2.8-20080811/locale/programs/3level.h -@@ -203,6 +203,42 @@ CONCAT(TABLE,_iterate) (struct TABLE *t, - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/patches/glibc-2.8/generic/gentoo/1050_all_glibc-posix-awk.patch b/patches/glibc-2.8/generic/gentoo/1050_all_glibc-posix-awk.patch deleted file mode 100644 index 1862c68..0000000 --- a/patches/glibc-2.8/generic/gentoo/1050_all_glibc-posix-awk.patch +++ /dev/null @@ -1,23 +0,0 @@ -http://bugs.gentoo.org/202511 - -2007-12-24 Mike Frysinger - - * elf/Makefile ($(objpfx)ld.so): Use POSIX (EF)? in awk. - ---- - elf/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: glibc-2.8-20080811/elf/Makefile -=================================================================== ---- glibc-2.8-20080811.orig/elf/Makefile -+++ glibc-2.8-20080811/elf/Makefile -@@ -307,7 +307,7 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld - -Wl,-soname=$(rtld-installed-name) -T $@.lds - rm -f $@.lds - readelf -s $@ \ -- | $(AWK) '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }' -+ | $(AWK) '($$7 ~ /^UND(EF)?$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }' - - # interp.c exists just to get this string into the libraries. - CFLAGS-interp.c = -D'RUNTIME_LINKER="$(slibdir)/$(rtld-installed-name)"' \ diff --git a/patches/glibc-2.8/generic/gentoo/1055_all_glibc-resolv-dynamic.patch b/patches/glibc-2.8/generic/gentoo/1055_all_glibc-resolv-dynamic.patch deleted file mode 100644 index 472a78f..0000000 --- a/patches/glibc-2.8/generic/gentoo/1055_all_glibc-resolv-dynamic.patch +++ /dev/null @@ -1,44 +0,0 @@ -ripped from SuSE - -if /etc/resolv.conf is updated, then make sure applications -already running get the updated information. - -http://bugs.gentoo.org/177416 - ---- - resolv/res_libc.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -Index: glibc-2.8-20080811/resolv/res_libc.c -=================================================================== ---- glibc-2.8-20080811.orig/resolv/res_libc.c -+++ glibc-2.8-20080811/resolv/res_libc.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* The following bit is copied from res_data.c (where it is #ifdef'ed -@@ -95,6 +96,20 @@ int - __res_maybe_init (res_state resp, int preinit) - { - if (resp->options & RES_INIT) { -+ static time_t last_mtime, last_check; -+ time_t now; -+ struct stat statbuf; -+ -+ time (&now); -+ if (now != last_check) { -+ last_check = now; -+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { -+ last_mtime = statbuf.st_mtime; -+ atomicinclock (lock); -+ atomicinc (__res_initstamp); -+ atomicincunlock (lock); -+ } -+ } - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) { - __res_iclose (resp, true); diff --git a/patches/glibc-2.8/generic/gentoo/1075_all_glibc-section-comments.patch b/patches/glibc-2.8/generic/gentoo/1075_all_glibc-section-comments.patch deleted file mode 100644 index da55cb9..0000000 --- a/patches/glibc-2.8/generic/gentoo/1075_all_glibc-section-comments.patch +++ /dev/null @@ -1,29 +0,0 @@ -http://sources.redhat.com/ml/binutils/2004-04/msg00665.html - -fixes building on some architectures (like m68k/arm/cris/etc...) because -it does the right thing - ---- - include/libc-symbols.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: glibc-2.8-20080811/include/libc-symbols.h -=================================================================== ---- glibc-2.8-20080811.orig/include/libc-symbols.h -+++ glibc-2.8-20080811/include/libc-symbols.h -@@ -240,12 +240,12 @@ - # define __make_section_unallocated(section_string) - # endif - --/* Tacking on "\n\t#" to the section name makes gcc put it's bogus -+/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus - section attributes on what looks like a comment to the assembler. */ - # ifdef HAVE_SECTION_QUOTES --# define __sec_comment "\"\n\t#\"" -+# define __sec_comment "\"\n#APP\n\t#\"" - # else --# define __sec_comment "\n\t#" -+# define __sec_comment "\n#APP\n\t#" - # endif - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ diff --git a/patches/glibc-2.8/generic/gentoo/1080_all_glibc-no-inline-gmon.patch b/patches/glibc-2.8/generic/gentoo/1080_all_glibc-no-inline-gmon.patch deleted file mode 100644 index 623df27..0000000 --- a/patches/glibc-2.8/generic/gentoo/1080_all_glibc-no-inline-gmon.patch +++ /dev/null @@ -1,38 +0,0 @@ -http://bugs.gentoo.org/196245 -http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html - -Attached is a patch to add __attribute__ ((noinline)) to -call_gmon_start. - -Without this patch, the sec script that processed initfini.s removes a -part of inlined call_gmon_start, causing undefined label errors. - -This patch solves the problem by forcing gcc not to inline -call_gmon_start with __attribute__ ((noinline)). - -Tested by building for arm-none-lixux-gnueabi. OK to apply? - -Kazu Hirata - -2006-05-07 Kazu Hirata <kazu@codesourcery.com> - - * sysdeps/generic/initfini.c (call_gmon_start): Add - __attribute__ ((noinline)). - ---- - sysdeps/generic/initfini.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: glibc-2.8-20080811/sysdeps/generic/initfini.c -=================================================================== ---- glibc-2.8-20080811.orig/sysdeps/generic/initfini.c -+++ glibc-2.8-20080811/sysdeps/generic/initfini.c -@@ -70,7 +70,7 @@ asm ("\n/*@TESTS_END*/"); - /* The beginning of _init: */ - asm ("\n/*@_init_PROLOG_BEGINS*/"); - --static void -+static void __attribute__ ((noinline)) - call_gmon_start(void) - { - extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ diff --git a/patches/glibc-2.8/generic/gentoo/1090_all_glibc-2.3.6-fix-pr631.patch b/patches/glibc-2.8/generic/gentoo/1090_all_glibc-2.3.6-fix-pr631.patch deleted file mode 100644 index a3a5872..0000000 --- a/patches/glibc-2.8/generic/gentoo/1090_all_glibc-2.3.6-fix-pr631.patch +++ /dev/null @@ -1,52 +0,0 @@ -From dank@kegel.com -Wed Jun 15 09:12:43 PDT 2005 - -Fixes - -build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r' -build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent' -... 53 lines deleted ... -build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r' -collect2: ld returned 1 exit status -make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1 - -when building glibc with --enable-static-nss. - -See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631 - ---- - Makeconfig | 2 +- - elf/Makefile | 7 +++++++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -Index: glibc-2.8-20080811/Makeconfig -=================================================================== ---- glibc-2.8-20080811.orig/Makeconfig -+++ glibc-2.8-20080811/Makeconfig -@@ -509,7 +509,7 @@ endif - - # The static libraries. - ifeq (yes,$(build-static)) --link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a -+link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a - else - ifeq (yes,$(build-shared)) - # We can try to link the programs with lib*_pic.a... -Index: glibc-2.8-20080811/elf/Makefile -=================================================================== ---- glibc-2.8-20080811.orig/elf/Makefile -+++ glibc-2.8-20080811/elf/Makefile -@@ -121,6 +121,13 @@ install-others = $(inst_slibdir)/$(rtld- - install-bin-script = ldd - endif - -+ifeq (yes,$(build-static-nss)) -+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss) -+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv) -+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \ -+ $(resolvobjdir)/libresolv.a -+endif -+ - others = sprof sln - install-bin = sprof - others-static = sln diff --git a/patches/glibc-2.8/generic/gentoo/1100_all_glibc-2.3.3-china.patch b/patches/glibc-2.8/generic/gentoo/1100_all_glibc-2.3.3-china.patch deleted file mode 100644 index 3be9ea0..0000000 --- a/patches/glibc-2.8/generic/gentoo/1100_all_glibc-2.3.3-china.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- - localedata/locales/zh_TW | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: glibc-2.8-20080811/localedata/locales/zh_TW -=================================================================== ---- glibc-2.8-20080811.orig/localedata/locales/zh_TW -+++ glibc-2.8-20080811/localedata/locales/zh_TW -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ escape_char / - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ email "bug-glibc-locales@gnu.org" - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % diff --git a/patches/glibc-2.8/generic/gentoo/1103_all_glibc-new-valencian-locale.patch b/patches/glibc-2.8/generic/gentoo/1103_all_glibc-new-valencian-locale.patch deleted file mode 100644 index df9d623..0000000 --- a/patches/glibc-2.8/generic/gentoo/1103_all_glibc-new-valencian-locale.patch +++ /dev/null @@ -1,122 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=131815 -http://sourceware.org/bugzilla/show_bug.cgi?id=2522 - ---- - localedata/SUPPORTED | 2 - localedata/locales/ca_ES@valencia | 96 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 98 insertions(+) - -Index: glibc-2.8-20080811/localedata/SUPPORTED -=================================================================== ---- glibc-2.8-20080811.orig/localedata/SUPPORTED -+++ glibc-2.8-20080811/localedata/SUPPORTED -@@ -72,6 +72,8 @@ ca_AD/ISO-8859-15 \ - ca_ES.UTF-8/UTF-8 \ - ca_ES/ISO-8859-1 \ - ca_ES@euro/ISO-8859-15 \ -+ca_ES.UTF-8@valencia/UTF-8 \ -+ca_ES@valencia/ISO-8859-15 \ - ca_FR.UTF-8/UTF-8 \ - ca_FR/ISO-8859-15 \ - ca_IT.UTF-8/UTF-8 \ -Index: glibc-2.8-20080811/localedata/locales/ca_ES@valencia -=================================================================== ---- /dev/null -+++ glibc-2.8-20080811/localedata/locales/ca_ES@valencia -@@ -0,0 +1,96 @@ -+comment_char % -+escape_char / -+% -+% Valencian (southern Catalan) locale for Spain with Euro -+% -+% Note that this locale is almost the same as ca_ES@euro. The point of having -+% a separate locale is only for PO translations, which have a lot of social -+% support and are very appreciated by the Valencian-speaking community. -+% -+% Contact: Jordi Mallach -+% Email: jordi@gnu.org -+% Tel: -+% Fax: -+% Language: ca -+% Territory: ES -+% Option: euro -+% Revision: 1.0 -+% Date: 2006-04-06 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic,ds -+% Charset: ISO-8859-15 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+title "Valencian (southern Catalan) locale for Spain with Euro" -+source "" -+address "" -+contact "Jordi Mallach" -+email "jordi@gnu.org" -+tel "" -+fax "" -+language "Catalan" -+territory "Spain" -+revision "1.0" -+date "2006-04-06" -+% -+category "ca_ES@valencia:2006";LC_IDENTIFICATION -+category "ca_ES@valencia:2006";LC_CTYPE -+category "ca_ES@valencia:2006";LC_COLLATE -+category "ca_ES@valencia:2006";LC_MONETARY -+category "ca_ES@valencia:2006";LC_NUMERIC -+category "ca_ES@valencia:2006";LC_TIME -+category "ca_ES@valencia:2006";LC_MESSAGES -+category "ca_ES@valencia:2006";LC_PAPER -+category "ca_ES@valencia:2006";LC_NAME -+category "ca_ES@valencia:2006";LC_ADDRESS -+category "ca_ES@valencia:2006";LC_TELEPHONE -+category "ca_ES@valencia:2006";LC_MEASUREMENT -+ -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+END LC_CTYPE -+ -+LC_COLLATE -+copy "ca_ES" -+END LC_COLLATE -+ -+LC_MONETARY -+copy "ca_ES" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "ca_ES" -+END LC_NUMERIC -+ -+LC_TIME -+copy "ca_ES" -+END LC_TIME -+ -+LC_MESSAGES -+copy "ca_ES" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "ca_ES" -+END LC_PAPER -+ -+LC_NAME -+copy "ca_ES" -+END LC_NAME -+ -+LC_ADDRESS -+copy "ca_ES" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+copy "ca_ES" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "ca_ES" -+END LC_MEASUREMENT diff --git a/patches/glibc-2.8/generic/gentoo/1120_all_glibc-2.5-strict-aliasing.patch b/patches/glibc-2.8/generic/gentoo/1120_all_glibc-2.5-strict-aliasing.patch deleted file mode 100644 index a238666..0000000 --- a/patches/glibc-2.8/generic/gentoo/1120_all_glibc-2.5-strict-aliasing.patch +++ /dev/null @@ -1,91 +0,0 @@ -workaround strict aliasing warnings on individual files rather than -forcing the whole build with -fno-strict-aliasing - -http://bugs.gentoo.org/155906 - -note that we leave the logout.c and logwtmp.c warnings alone as the -code path that invokes the warning should not be executed when the -warning is applicable. - ---- - libio/Makefile | 4 ++-- - nis/Makefile | 3 +++ - nptl/Makefile | 1 + - nss/Makefile | 2 ++ - sunrpc/Makefile | 2 +- - 5 files changed, 9 insertions(+), 3 deletions(-) - -Index: glibc-2.8-20080811/libio/Makefile -=================================================================== ---- glibc-2.8-20080811.orig/libio/Makefile -+++ glibc-2.8-20080811/libio/Makefile -@@ -91,7 +91,7 @@ CFLAGS-fseeko.c = $(exceptions) - CFLAGS-ftello64.c = $(exceptions) - CFLAGS-ftello.c = $(exceptions) - CFLAGS-fwide.c = $(exceptions) --CFLAGS-genops.c = $(exceptions) -+CFLAGS-genops.c = $(exceptions) -fno-strict-aliasing - CFLAGS-getc.c = $(exceptions) - CFLAGS-getchar.c = $(exceptions) - CFLAGS-getwc.c = $(exceptions) -@@ -133,7 +133,7 @@ CFLAGS-putwc.c = $(exceptions) - CFLAGS-putwchar.c = $(exceptions) - CFLAGS-rewind.c = $(exceptions) - CFLAGS-wfileops.c = $(exceptions) --CFLAGS-wgenops.c = $(exceptions) -+CFLAGS-wgenops.c = $(exceptions) -fno-strict-aliasing - CFLAGS-oldiofopen.c = $(exceptions) - CFLAGS-iofopen.c = $(exceptions) - CFLAGS-iofopen64.c = $(exceptions) -Index: glibc-2.8-20080811/nis/Makefile -=================================================================== ---- glibc-2.8-20080811.orig/nis/Makefile -+++ glibc-2.8-20080811/nis/Makefile -@@ -67,6 +67,9 @@ libnss_nisplus-routines := $(addprefix n - nss-nisplus nisplus-initgroups - libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes)) - -+CFLAGS-nis_xdr.c += -fno-strict-aliasing -+CFLAGS-yp_xdr.c += -fno-strict-aliasing -+ - include ../Rules - - -Index: glibc-2.8-20080811/nptl/Makefile -=================================================================== ---- glibc-2.8-20080811.orig/nptl/Makefile -+++ glibc-2.8-20080811/nptl/Makefile -@@ -193,6 +193,7 @@ CFLAGS-tcdrain.c = -fexceptions -fasynch - - CFLAGS-pt-system.c = -fexceptions - -+CFLAGS-unwind-dw2.c += -fno-strict-aliasing - - tests = tst-typesizes \ - tst-attr1 tst-attr2 tst-attr3 \ -Index: glibc-2.8-20080811/nss/Makefile -=================================================================== ---- glibc-2.8-20080811.orig/nss/Makefile -+++ glibc-2.8-20080811/nss/Makefile -@@ -72,6 +72,8 @@ ifneq ($(build-static-nss),yes) - libnss_files-inhibit-o = $(filter-out .os,$(object-suffixes)) - endif - -+CFLAGS-nsswitch.c += -fno-strict-aliasing -+ - include ../Rules - - -Index: glibc-2.8-20080811/sunrpc/Makefile -=================================================================== ---- glibc-2.8-20080811.orig/sunrpc/Makefile -+++ glibc-2.8-20080811/sunrpc/Makefile -@@ -127,7 +127,7 @@ CFLAGS-pmap_rmt.c = -fexceptions - CFLAGS-clnt_perr.c = -fexceptions - CFLAGS-openchild.c = -fexceptions - --CPPFLAGS += -D_RPC_THREAD_SAFE_ -+CPPFLAGS += -D_RPC_THREAD_SAFE_ -fno-strict-aliasing - - include ../Rules - diff --git a/patches/glibc-2.8/generic/gentoo/1130_all_glibc-2.4-undefine-__i686.patch b/patches/glibc-2.8/generic/gentoo/1130_all_glibc-2.4-undefine-__i686.patch deleted file mode 100644 index 6a2e833..0000000 --- a/patches/glibc-2.8/generic/gentoo/1130_all_glibc-2.4-undefine-__i686.patch +++ /dev/null @@ -1,49 +0,0 @@ -If gcc is configured to generate i686 code or better by default (like -when using the --with-arch=pentium3 configure option), then the __i686 -macro will always be defined automatically and thus screw up the -compilation of some .S files. -http://bugs.gentoo.org/131108 -http://sourceware.org/ml/libc-alpha/2006-04/msg00090.html - -2006-04-25 Mike Frysinger - - * sysdeps/i386/sysdep.h (__i686): Undefine. - ---- - nptl/sysdeps/pthread/pt-initfini.c | 3 +++ - sysdeps/i386/sysdep.h | 8 ++++++++ - 2 files changed, 11 insertions(+) - -Index: glibc-2.8-20080811/nptl/sysdeps/pthread/pt-initfini.c -=================================================================== ---- glibc-2.8-20080811.orig/nptl/sysdeps/pthread/pt-initfini.c -+++ glibc-2.8-20080811/nptl/sysdeps/pthread/pt-initfini.c -@@ -45,6 +45,9 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+/* Embed an #include to pull in asm settings. */ -+asm ("\n#ifdef __i686__\n#include \n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - -Index: glibc-2.8-20080811/sysdeps/i386/sysdep.h -=================================================================== ---- glibc-2.8-20080811.orig/sysdeps/i386/sysdep.h -+++ glibc-2.8-20080811/sysdeps/i386/sysdep.h -@@ -18,6 +18,14 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+/* -+ * When building for i686 targets or better, gcc automatically defines -+ * '__i686' to '1' for us which causes trouble when using section names -+ * like '__i686.get_pc_thunk.reg'. Since we check for __i686__ in the -+ * code, killing '__i686' shouldn't be a problem. -+ */ -+#undef __i686 -+ - #include - - #ifdef __ASSEMBLER__ diff --git a/patches/glibc-2.8/generic/gentoo/3000_all_2.3.6-dl_execstack-PaX-support.patch b/patches/glibc-2.8/generic/gentoo/3000_all_2.3.6-dl_execstack-PaX-support.patch deleted file mode 100644 index eca5d11..0000000 --- a/patches/glibc-2.8/generic/gentoo/3000_all_2.3.6-dl_execstack-PaX-support.patch +++ /dev/null @@ -1,73 +0,0 @@ - With latest versions of glibc, a lot of apps failed on a PaX enabled - system with: - cannot enable executable stack as shared object requires: Permission denied - - This is due to PaX 'exec-protecting' the stack, and ld.so then trying - to make the stack executable due to some libraries not containing the - PT_GNU_STACK section. Bug #32960. (12 Nov 2003). - - Patch also NPTL. Bug #116086. (20 Dec 2005). - ---- - nptl/allocatestack.c | 3 ++- - sysdeps/unix/sysv/linux/dl-execstack.c | 19 ++++++++++++++++--- - 2 files changed, 18 insertions(+), 4 deletions(-) - -Index: glibc-2.8-20080811/nptl/allocatestack.c -=================================================================== ---- glibc-2.8-20080811.orig/nptl/allocatestack.c -+++ glibc-2.8-20080811/nptl/allocatestack.c -@@ -299,7 +299,8 @@ change_stack_perm (struct pthread *pd - # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" - #endif - if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) -- return errno; -+ if (errno != EACCES) /* PAX is enabled */ -+ return errno; - - return 0; - } -Index: glibc-2.8-20080811/sysdeps/unix/sysv/linux/dl-execstack.c -=================================================================== ---- glibc-2.8-20080811.orig/sysdeps/unix/sysv/linux/dl-execstack.c -+++ glibc-2.8-20080811/sysdeps/unix/sysv/linux/dl-execstack.c -@@ -63,7 +63,10 @@ _dl_make_stack_executable (void **stack_ - else - # endif - { -- result = errno; -+ if (errno == EACCES) /* PAX is enabled */ -+ result = 0; -+ else -+ result = errno; - goto out; - } - } -@@ -89,7 +92,12 @@ _dl_make_stack_executable (void **stack_ - page -= size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; -@@ -115,7 +123,12 @@ _dl_make_stack_executable (void **stack_ - page += size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; diff --git a/patches/glibc-2.8/generic/gentoo/3010_all_2.3.3_pre20040117-pt_pax.patch b/patches/glibc-2.8/generic/gentoo/3010_all_2.3.3_pre20040117-pt_pax.patch deleted file mode 100644 index e4e2c26..0000000 --- a/patches/glibc-2.8/generic/gentoo/3010_all_2.3.3_pre20040117-pt_pax.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- - elf/elf.h | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -Index: glibc-2.8-20080811/elf/elf.h -=================================================================== ---- glibc-2.8-20080811.orig/elf/elf.h -+++ glibc-2.8-20080811/elf/elf.h -@@ -571,6 +571,7 @@ typedef struct - #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ - #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ - #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ -+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ - #define PT_LOSUNW 0x6ffffffa - #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ - #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -@@ -584,6 +585,18 @@ typedef struct - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ - #define PF_MASKOS 0x0ff00000 /* OS-specific */ - #define PF_MASKPROC 0xf0000000 /* Processor-specific */ - diff --git a/patches/glibc-2.8/generic/gentoo/6224_all_glibc-2.7-lowlevellock-includes.patch b/patches/glibc-2.8/generic/gentoo/6224_all_glibc-2.7-lowlevellock-includes.patch deleted file mode 100644 index 632c63e..0000000 --- a/patches/glibc-2.8/generic/gentoo/6224_all_glibc-2.7-lowlevellock-includes.patch +++ /dev/null @@ -1,28 +0,0 @@ -fix building on arm: - -armv4l-unknown-linux-gnu-gcc ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c -c -std=gnu99 -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -mcpu=strongarm110 -pipe -Wstrict-prototypes -fPIC -I../include -I/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl -I/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/armv4l-unknown-linux-gnu/4.1.2/include -isystem /usr/lib/gcc/armv4l-unknown-linux-gnu/4.1.2/include-fixed -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -DNOT_IN_libc=1 -DIS_IN_rtld=1 -o /var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -MD -MP -MF /var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os.dt -MT /var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os -In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21: -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private': -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM' -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function) -make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1 - ---- - sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h | 1 + - 1 file changed, 1 insertion(+) - -Index: glibc-2.7/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h -=================================================================== ---- glibc-2.7.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h -+++ glibc-2.7/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - #define FUTEX_WAIT 0 - #define FUTEX_WAKE 1 diff --git a/patches/glibc-2.8/generic/gentoo/6400_all_sh-glibc-2.3.2-fpscr_values.patch b/patches/glibc-2.8/generic/gentoo/6400_all_sh-glibc-2.3.2-fpscr_values.patch deleted file mode 100644 index 3ba4378..0000000 --- a/patches/glibc-2.8/generic/gentoo/6400_all_sh-glibc-2.3.2-fpscr_values.patch +++ /dev/null @@ -1,42 +0,0 @@ -http://sources.redhat.com/ml/libc-alpha/2003-06/msg00027.html -http://www.m17n.org/linux-sh/ml/linux-sh/2003-05/msg00010.html - -http://rpm.sh-linux.org/rpm-2004/target/SRPMS/glibc-2.3.3-27.12.src.rpm - -http://bugs.gentoo.org/100696 - ---- - sysdeps/unix/sysv/linux/sh/Versions | 1 + - sysdeps/unix/sysv/linux/sh/sysdep.S | 10 ++++++++++ - 2 files changed, 11 insertions(+) - -Index: glibc-2.8-20080811/sysdeps/unix/sysv/linux/sh/Versions -=================================================================== ---- glibc-2.8-20080811.orig/sysdeps/unix/sysv/linux/sh/Versions -+++ glibc-2.8-20080811/sysdeps/unix/sysv/linux/sh/Versions -@@ -2,6 +2,7 @@ libc { - GLIBC_2.2 { - # functions used in other libraries - __xstat64; __fxstat64; __lxstat64; -+ __fpscr_values; - - # a* - alphasort64; -Index: glibc-2.8-20080811/sysdeps/unix/sysv/linux/sh/sysdep.S -=================================================================== ---- glibc-2.8-20080811.orig/sysdeps/unix/sysv/linux/sh/sysdep.S -+++ glibc-2.8-20080811/sysdeps/unix/sysv/linux/sh/sysdep.S -@@ -32,3 +32,13 @@ ENTRY (__syscall_error) - - #define __syscall_error __syscall_error_1 - #include -+ -+ .data -+ .align 3 -+ .globl ___fpscr_values -+ .type ___fpscr_values, @object -+ .size ___fpscr_values, 8 -+___fpscr_values: -+ .long 0 -+ .long 0x80000 -+weak_alias (___fpscr_values, __fpscr_values) diff --git a/patches/glibc-2.8/generic/gentoo/6415_all_sh-glibc-2.5-no-asm-user-header.patch b/patches/glibc-2.8/generic/gentoo/6415_all_sh-glibc-2.5-no-asm-user-header.patch deleted file mode 100644 index 54b51cc..0000000 --- a/patches/glibc-2.8/generic/gentoo/6415_all_sh-glibc-2.5-no-asm-user-header.patch +++ /dev/null @@ -1,76 +0,0 @@ -2007-03-13 Mike Frysinger - - * sysdeps/unix/sysv/linux/sh/sys/user.h: Copy Linux's asm-sh/user.h. - ---- - sysdeps/unix/sysv/linux/sh/sys/user.h | 56 ++++++++++++++++++++++++++++++++-- - 1 file changed, 53 insertions(+), 3 deletions(-) - -Index: glibc-2.8-20080811/sysdeps/unix/sysv/linux/sh/sys/user.h -=================================================================== ---- glibc-2.8-20080811.orig/sysdeps/unix/sysv/linux/sh/sys/user.h -+++ glibc-2.8-20080811/sysdeps/unix/sysv/linux/sh/sys/user.h -@@ -19,10 +19,60 @@ - #ifndef _SYS_USER_H - #define _SYS_USER_H 1 - --#include -+#include -+#include - --#include -+/* -+ * Core file format: The core file is written in such a way that gdb -+ * can understand it and provide useful information to the user (under -+ * linux we use the `trad-core' bfd). The file contents are as follows: -+ * -+ * upage: 1 page consisting of a user struct that tells gdb -+ * what is present in the file. Directly after this is a -+ * copy of the task_struct, which is currently not used by gdb, -+ * but it may come in handy at some point. All of the registers -+ * are stored as part of the upage. The upage should always be -+ * only one page long. -+ * data: The data segment follows next. We use current->end_text to -+ * current->brk to pick up all of the user variables, plus any memory -+ * that may have been sbrk'ed. No attempt is made to determine if a -+ * page is demand-zero or if a page is totally unused, we just cover -+ * the entire range. All of the addresses are rounded in such a way -+ * that an integral number of pages is written. -+ * stack: We need the stack information in order to get a meaningful -+ * backtrace. We need to write the data from usp to -+ * current->start_stack, so we round each of these in order to be able -+ * to write an integer number of pages. -+ */ - --#undef start_thread -+struct user_fpu_struct { -+ unsigned long fp_regs[16]; -+ unsigned long xfp_regs[16]; -+ unsigned long fpscr; -+ unsigned long fpul; -+}; -+ -+struct user { -+ struct pt_regs regs; /* entire machine state */ -+ struct user_fpu_struct fpu; /* Math Co-processor registers */ -+ int u_fpvalid; /* True if math co-processor being used */ -+ size_t u_tsize; /* text size (pages) */ -+ size_t u_dsize; /* data size (pages) */ -+ size_t u_ssize; /* stack size (pages) */ -+ unsigned long start_code; /* text starting address */ -+ unsigned long start_data; /* data starting address */ -+ unsigned long start_stack; /* stack starting address */ -+ long int signal; /* signal causing core dump */ -+ struct regs * u_ar0; /* help gdb find registers */ -+ struct user_fpu_struct* u_fpstate; /* Math Co-processor pointer */ -+ unsigned long magic; /* identifies a core file */ -+ char u_comm[32]; /* user command name */ -+}; -+ -+#define NBPG getpagesize() -+#define UPAGES 1 -+#define HOST_TEXT_START_ADDR (u.start_code) -+#define HOST_DATA_START_ADDR (u.start_data) -+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) - - #endif /* sys/user.h */ diff --git a/patches/glibc-2.8/generic/gentoo/6416_all_sh-glibc-2.5-no-asm-elf-header.patch b/patches/glibc-2.8/generic/gentoo/6416_all_sh-glibc-2.5-no-asm-elf-header.patch deleted file mode 100644 index e13d01f..0000000 --- a/patches/glibc-2.8/generic/gentoo/6416_all_sh-glibc-2.5-no-asm-elf-header.patch +++ /dev/null @@ -1,33 +0,0 @@ -2007-03-13 Mike Frysinger - - * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Copy Linux's asm-sh/elf.h types. - ---- - sysdeps/unix/sysv/linux/sh/sys/procfs.h | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -Index: glibc-2.8-20080811/sysdeps/unix/sysv/linux/sh/sys/procfs.h -=================================================================== ---- glibc-2.8-20080811.orig/sysdeps/unix/sysv/linux/sh/sys/procfs.h -+++ glibc-2.8-20080811/sysdeps/unix/sysv/linux/sh/sys/procfs.h -@@ -29,10 +29,19 @@ - #include - #include - #include --#include - - __BEGIN_DECLS - -+/* -+ * ELF register definitions... -+ */ -+typedef unsigned long elf_greg_t; -+ -+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) -+typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -+ -+typedef struct user_fpu_struct elf_fpregset_t; -+ - struct elf_siginfo - { - int si_signo; /* Signal number. */ diff --git a/patches/glibc-2.8/generic/gentoo/6605_all_glibc-2.4-fpu-cw-mips.patch b/patches/glibc-2.8/generic/gentoo/6605_all_glibc-2.4-fpu-cw-mips.patch deleted file mode 100644 index 183a1ca..0000000 --- a/patches/glibc-2.8/generic/gentoo/6605_all_glibc-2.4-fpu-cw-mips.patch +++ /dev/null @@ -1,19 +0,0 @@ -http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html - ---- - sysdeps/mips/fpu_control.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: glibc-2.7/ports/sysdeps/mips/fpu_control.h -=================================================================== ---- glibc-2.7.orig/ports/sysdeps/mips/fpu_control.h -+++ glibc-2.7/ports/sysdeps/mips/fpu_control.h -@@ -85,7 +85,7 @@ extern fpu_control_t __fpu_control; - #define _FPU_RC_UP 0x2 - #define _FPU_RC_DOWN 0x3 - --#define _FPU_RESERVED 0xfe3c0000 /* Reserved bits in cw */ -+#define _FPU_RESERVED 0xfebc0000 /* Reserved bits in cw */ - - - /* The fdlibm code requires strict IEEE double precision arithmetic, diff --git a/patches/glibc-2.8/generic/gentoo/6645_all_glibc-mips_shn_undef-hack.patch b/patches/glibc-2.8/generic/gentoo/6645_all_glibc-mips_shn_undef-hack.patch deleted file mode 100644 index 74579dc..0000000 --- a/patches/glibc-2.8/generic/gentoo/6645_all_glibc-mips_shn_undef-hack.patch +++ /dev/null @@ -1,29 +0,0 @@ - Hack from Debian to hopefully get sandbox working on mips - -<`Kumba> ths: given the SHN_UNDEF thing is a hack, what's the preferred solution? - For fakeroot the simplest trigger is "fakeroot file /bin/ls". - `Kumba: I haven't found a better one yet. - Probably marker symbols around the stub section, and then exclude it from the link map. - This needs a ld change. - ---- - elf/do-lookup.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: glibc-2.8-20080811/elf/do-lookup.h -=================================================================== ---- glibc-2.8-20080811.orig/elf/do-lookup.h -+++ glibc-2.8-20080811/elf/do-lookup.h -@@ -246,6 +246,12 @@ do_lookup_x (const char *undef_name, uin - } - /* FALLTHROUGH */ - case STB_GLOBAL: -+#ifdef __mips__ -+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF -+ symbols, we skip them. */ -+ if (sym->st_shndx == SHN_UNDEF) -+ break; -+#endif - /* Global definition. Just what we need. */ - result->s = sym; - result->m = (struct link_map *) map; diff --git a/patches/glibc-2.8/generic/glibc-2.5_ports_sysdeps_arm_mp_clz_tab.c b/patches/glibc-2.8/generic/glibc-2.5_ports_sysdeps_arm_mp_clz_tab.c deleted file mode 100644 index 9864b7e..0000000 --- a/patches/glibc-2.8/generic/glibc-2.5_ports_sysdeps_arm_mp_clz_tab.c +++ /dev/null @@ -1,33 +0,0 @@ ---- - ports/sysdeps/arm/mp_clz_tab.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -Index: glibc-2.7/ports/ports/sysdeps/arm/mp_clz_tab.c -=================================================================== ---- /dev/null -+++ glibc-2.7/ports/ports/sysdeps/arm/mp_clz_tab.c -@@ -0,0 +1,24 @@ -+/* __clz_tab -- support for longlong.h -+ Copyright (C) 2004 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) -+/* Nothing required. */ -+#else -+#include -+#endif diff --git a/patches/glibc-2.8/generic/glibc-2.5_stdlib_longlong.h b/patches/glibc-2.8/generic/glibc-2.5_stdlib_longlong.h deleted file mode 100644 index f465c69..0000000 --- a/patches/glibc-2.8/generic/glibc-2.5_stdlib_longlong.h +++ /dev/null @@ -1,37 +0,0 @@ ---- - stdlib/longlong.h | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -Index: glibc-2.8-20080811/stdlib/longlong.h -=================================================================== ---- glibc-2.8-20080811.orig/stdlib/longlong.h -+++ glibc-2.8-20080811/stdlib/longlong.h -@@ -205,6 +205,14 @@ UDItype __umulsidi3 (USItype, USItype); - "rI" ((USItype) (bh)), \ - "r" ((USItype) (al)), \ - "rI" ((USItype) (bl)) __CLOBBER_CC) -+/* v3m and all higher arches have long multiply support. */ -+#if !defined(__ARM_ARCH_2__) && !defined(__ARM_ARCH_3__) -+#define umul_ppmm(xh, xl, a, b) \ -+ __asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) -+#define UMUL_TIME 5 -+#define smul_ppmm(xh, xl, a, b) \ -+ __asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) -+#else - #define umul_ppmm(xh, xl, a, b) \ - {register USItype __t0, __t1, __t2; \ - __asm__ ("%@ Inlined umul_ppmm\n" \ -@@ -226,7 +234,13 @@ UDItype __umulsidi3 (USItype, USItype); - : "r" ((USItype) (a)), \ - "r" ((USItype) (b)) __CLOBBER_CC );} - #define UMUL_TIME 20 -+#endif - #define UDIV_TIME 100 -+#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) -+#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X)) -+#define COUNT_LEADING_ZEROS_0 32 -+#endif -+ - #endif /* __arm__ */ - - #if defined (__hppa) && W_TYPE_SIZE == 32 diff --git a/patches/glibc-2.8/generic/glibc-configure-apple-as.patch b/patches/glibc-2.8/generic/glibc-configure-apple-as.patch deleted file mode 100644 index 13b7b23..0000000 --- a/patches/glibc-2.8/generic/glibc-configure-apple-as.patch +++ /dev/null @@ -1,47 +0,0 @@ -http://in3www.epfl.ch/~schaffne/glibc-configure-apple-as.patch -http://sources.redhat.com/ml/crossgcc/2004-02/msg00151.html - -The following makes it possible to configure glibc-2.3.2 on Mac OS X, -where the assembler but doesn't understand the --version flag. - -Fixes the symptom -checking whether ld is GNU ld... no -checking for /usr/libexec/gcc/darwin/ppc/as... /usr/libexec/gcc/darwin/ppc/as -checking version of /usr/libexec/gcc/darwin/ppc/as... - - ---- - configure | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: glibc-2.8-20080811/configure -=================================================================== ---- glibc-2.8-20080811.orig/configure -+++ glibc-2.8-20080811/configure -@@ -4527,7 +4527,7 @@ else - # Found it, now check the version. - { echo "$as_me:$LINENO: checking version of $AS" >&5 - echo $ECHO_N "checking version of $AS... $ECHO_C" >&6; } -- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` -+ ac_prog_version=`$AS -v &1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 2.1[3-9]*) -@@ -4538,7 +4538,7 @@ echo $ECHO_N "checking version of $AS... - { echo "$as_me:$LINENO: result: $ac_prog_version" >&5 - echo "${ECHO_T}$ac_prog_version" >&6; } - fi --if test $ac_verc_fail = yes; then -+if test $ac_verc_fail = yes -a -z "$enable_hacker_mode"; then - AS=: critic_missing="$critic_missing as" - fi - -@@ -4601,7 +4601,7 @@ echo $ECHO_N "checking version of $LD... - { echo "$as_me:$LINENO: result: $ac_prog_version" >&5 - echo "${ECHO_T}$ac_prog_version" >&6; } - fi --if test $ac_verc_fail = yes; then -+if test $ac_verc_fail = yes -a -z "$enable_hacker_mode"; then - LD=: critic_missing="$critic_missing ld" - fi - diff --git a/patches/glibc-2.8/generic/glibc-configure-old-gcc.patch b/patches/glibc-2.8/generic/glibc-configure-old-gcc.patch deleted file mode 100644 index 3de4828..0000000 --- a/patches/glibc-2.8/generic/glibc-configure-old-gcc.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: glibc-2.8-20080811/configure -=================================================================== ---- glibc-2.8-20080811.orig/configure -+++ glibc-2.8-20080811/configure -@@ -4719,7 +4719,7 @@ echo $ECHO_N "checking version of $CC... - { echo "$as_me:$LINENO: result: $ac_prog_version" >&5 - echo "${ECHO_T}$ac_prog_version" >&6; } - fi --if test $ac_verc_fail = yes; then -+if test $ac_verc_fail = yes -a -z "$enable_hacker_mode"; then - critic_missing="$critic_missing gcc" - fi - diff --git a/patches/glibc-2.8/generic/make-install-lib-all.patch b/patches/glibc-2.8/generic/make-install-lib-all.patch deleted file mode 100644 index 0daf7f9..0000000 --- a/patches/glibc-2.8/generic/make-install-lib-all.patch +++ /dev/null @@ -1,45 +0,0 @@ -# --- T2-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# T2 SDE: package/.../glibc32/make-install-lib-all.patch -# Copyright (C) 2004 - 2005 The T2 SDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- T2-COPYRIGHT-NOTE-END --- ---- -# Makerules | 8 ++++++++ -# 1 file changed, 8 insertions(+) -# -Index: glibc-2.8-20080811/Makerules -=================================================================== ---- glibc-2.8-20080811.orig/Makerules -+++ glibc-2.8-20080811/Makerules -@@ -853,6 +853,13 @@ endef - installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\ - $(inst_libdir)/$(patsubst %,$(libtype$o),\ - $(libprefix)$(libc-name))) -+ -+install-lib-all: $(inst_slibdir)/libc.so$(libc.so-version) \ -+ $(inst_slibdir)/libc-$(version).so \ -+ $(inst_libdir)/libc.so \ -+ $(inst_libdir)/libc.a \ -+ install-lib -+ - install: $(installed-libcs) - $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force) - $(make-target-directory) -@@ -876,6 +883,7 @@ endef - install-lib.so := $(filter %.so,$(install-lib:%_pic.a=%.so)) - install-lib := $(filter-out %.so %_pic.a,$(install-lib)) - -+ - ifeq (yes,$(build-shared)) - # Find which .so's have versions. - versioned := $(strip $(foreach so,$(install-lib.so),\ diff --git a/patches/glibc-2.8/generic/series b/patches/glibc-2.8/generic/series deleted file mode 100644 index 857dbe4..0000000 --- a/patches/glibc-2.8/generic/series +++ /dev/null @@ -1,39 +0,0 @@ -make-install-lib-all.patch -glibc-configure-apple-as.patch -glibc-configure-old-gcc.patch -configure_in-sane_readelf.diff -configure-sane_readelf.diff - -glibc-2.5_stdlib_longlong.h - -0001--PRIVATE_FUTEX_OFFSET-Guard-sym-definition-with-i.patch - -gentoo/0030_all_glibc-respect-env-CPPFLAGS.patch -gentoo/0040_all_glibc-i586-chk.patch -gentoo/0070_all_glibc-i386-x86_64-revert-clone-cfi.patch -gentoo/1010_all_glibc-queue-header-updates.patch -gentoo/1030_all_glibc-manual-no-perl.patch -gentoo/1040_all_2.3.3-localedef-fix-trampoline.patch -gentoo/1050_all_glibc-posix-awk.patch -gentoo/1055_all_glibc-resolv-dynamic.patch -gentoo/1075_all_glibc-section-comments.patch -gentoo/1080_all_glibc-no-inline-gmon.patch -gentoo/1090_all_glibc-2.3.6-fix-pr631.patch -gentoo/1100_all_glibc-2.3.3-china.patch -gentoo/1103_all_glibc-new-valencian-locale.patch -gentoo/1120_all_glibc-2.5-strict-aliasing.patch -gentoo/1130_all_glibc-2.4-undefine-__i686.patch -gentoo/3000_all_2.3.6-dl_execstack-PaX-support.patch -gentoo/3010_all_2.3.3_pre20040117-pt_pax.patch -gentoo/6400_all_sh-glibc-2.3.2-fpscr_values.patch -gentoo/6415_all_sh-glibc-2.5-no-asm-user-header.patch -gentoo/6416_all_sh-glibc-2.5-no-asm-elf-header.patch -gentoo/6645_all_glibc-mips_shn_undef-hack.patch - -# from ports -sysdeps_mips_mips32_Makefile-bootstrap.diff - -glibc-2.5_ports_sysdeps_arm_mp_clz_tab.c - -gentoo/6605_all_glibc-2.4-fpu-cw-mips.patch -gentoo/6224_all_glibc-2.7-lowlevellock-includes.patch diff --git a/patches/glibc-2.8/generic/sysdeps_mips_mips32_Makefile-bootstrap.diff b/patches/glibc-2.8/generic/sysdeps_mips_mips32_Makefile-bootstrap.diff deleted file mode 100644 index 9759315..0000000 --- a/patches/glibc-2.8/generic/sysdeps_mips_mips32_Makefile-bootstrap.diff +++ /dev/null @@ -1,28 +0,0 @@ -From: Marc Kleine-Budde -Subject: Hack around mips args to host-gcc - -originally From: "Steven J dot Hill" -for Crosstool - -In OSELAS.Toolchain we pass -DBOOTSTRAP_GCC in CC. This patch fixes the -header extraction from the glibc, by not passing mips specific flags to -the HOST compiler. - -Signed-off-by: Marc Kleine-Budde - ---- - sysdeps/mips/mips32/Makefile | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: glibc-2.7/ports/sysdeps/mips/mips32/Makefile -=================================================================== ---- glibc-2.7.orig/ports/sysdeps/mips/mips32/Makefile -+++ glibc-2.7/ports/sysdeps/mips/mips32/Makefile -@@ -1,3 +1,7 @@ -+ifeq ($(filter -DBOOTSTRAP_GCC,$(CC)),) - ifeq ($(filter -mabi=32,$(CC)),) - CC += -mabi=32 - endif -+else -+CC += -D_MIPS_SZPTR=32 -+endif diff --git a/patches/linux-2.6.27/generic/0001-kbuild-fix-C-libary-confusion-in-unifdef.c-due-to-ge.patch b/patches/linux-2.6.27/generic/0001-kbuild-fix-C-libary-confusion-in-unifdef.c-due-to-ge.patch deleted file mode 100644 index 9155223..0000000 --- a/patches/linux-2.6.27/generic/0001-kbuild-fix-C-libary-confusion-in-unifdef.c-due-to-ge.patch +++ /dev/null @@ -1,56 +0,0 @@ -From d15bd1067b1fcb2b7250d22bc0c7c7fea0b759f7 Mon Sep 17 00:00:00 2001 -From: Justin P. Mattock -Date: Sat, 7 Mar 2009 13:31:29 +0100 -Subject: [PATCH] kbuild: fix C libary confusion in unifdef.c due to getline() - -This fixes an error when compiling the kernel. - - CHK include/linux/version.h - HOSTCC scripts/unifdef -scripts/unifdef.c:209: error: conflicting types for 'getline' -/usr/include/stdio.h:651: note: previous declaration of 'getline' was here -make[1]: *** [scripts/unifdef] Error 1 -make: *** [__headers] Error 2 - -Signed-off-by: Justin P. Mattock -Cc: Frederic Weisbecker -Signed-off-by: Andrew Morton -Signed-off-by: Sam Ravnborg ---- - scripts/unifdef.c | 6 +++--- - 1 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/scripts/unifdef.c b/scripts/unifdef.c -index 552025e..05a31a6 100644 ---- a/scripts/unifdef.c -+++ b/scripts/unifdef.c -@@ -206,7 +206,7 @@ static void done(void); - static void error(const char *); - static int findsym(const char *); - static void flushline(bool); --static Linetype getline(void); -+static Linetype get_line(void); - static Linetype ifeval(const char **); - static void ignoreoff(void); - static void ignoreon(void); -@@ -512,7 +512,7 @@ process(void) - - for (;;) { - linenum++; -- lineval = getline(); -+ lineval = get_line(); - trans_table[ifstate[depth]][lineval](); - debug("process %s -> %s depth %d", - linetype_name[lineval], -@@ -526,7 +526,7 @@ process(void) - * help from skipcomment(). - */ - static Linetype --getline(void) -+get_line(void) - { - const char *cp; - int cursym; --- -1.6.3.1 - diff --git a/patches/linux-2.6.27/generic/series b/patches/linux-2.6.27/generic/series deleted file mode 100644 index 0ea0480..0000000 --- a/patches/linux-2.6.27/generic/series +++ /dev/null @@ -1 +0,0 @@ -0001-kbuild-fix-C-libary-confusion-in-unifdef.c-due-to-ge.patch -- cgit v1.2.3