From c2d684969b73207dc981f9d592bb2e82fd5f2562 Mon Sep 17 00:00:00 2001 From: Omar Vega Ramos Date: Sat, 26 Jul 2014 16:19:13 -0500 Subject: Updating gcc to 4.9.0 --- core/binutils/PKGBUILD | 21 ++- core/binutils/binutils-2.23.2-texinfo-5.0.patch | 162 --------------------- core/binutils/binutils-2.24-lto-testsuite.patch | 53 +++++++ core/binutils/binutils-2.24-shared-pie.patch | 99 +++++++++++++ core/gcc/PKGBUILD | 55 ++++--- core/gcc/gcc-4.8-lambda-ICE.patch | 35 ----- core/glibc/PKGBUILD | 27 +++- core/glibc/glibc-2.18-xattr-compat-hack.patch | 19 --- .../glibc-2.19-fix-sign-in-bsloww1-input.patch | 71 +++++++++ core/glibc/glibc-2.19-tzselect-default.patch | 13 ++ core/glibc/glibc-2.19-xattr_header.patch | 42 ++++++ core/glibc/nscd.service | 18 --- core/glibc/nscd.tmpfiles | 4 - core/gmp/PKGBUILD | 14 +- core/libtool/PKGBUILD | 6 +- libre/linux-libre-api-headers/PKGBUILD | 23 ++- .../linux-3.14-xattr_header.patch | 76 ++++++++++ 17 files changed, 443 insertions(+), 295 deletions(-) delete mode 100644 core/binutils/binutils-2.23.2-texinfo-5.0.patch create mode 100644 core/binutils/binutils-2.24-lto-testsuite.patch create mode 100644 core/binutils/binutils-2.24-shared-pie.patch delete mode 100644 core/gcc/gcc-4.8-lambda-ICE.patch delete mode 100644 core/glibc/glibc-2.18-xattr-compat-hack.patch create mode 100644 core/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch create mode 100644 core/glibc/glibc-2.19-tzselect-default.patch create mode 100644 core/glibc/glibc-2.19-xattr_header.patch delete mode 100644 core/glibc/nscd.service delete mode 100644 core/glibc/nscd.tmpfiles create mode 100644 libre/linux-libre-api-headers/linux-3.14-xattr_header.patch diff --git a/core/binutils/PKGBUILD b/core/binutils/PKGBUILD index edd433c64..5b588568b 100644 --- a/core/binutils/PKGBUILD +++ b/core/binutils/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 205615 2014-02-10 03:07:50Z allan $ +# $Id: PKGBUILD 215105 2014-06-14 08:08:00Z allan $ # Maintainer: Allan McRae # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=binutils pkgver=2.24 -pkgrel=2 +pkgrel=5.1 pkgdesc="A set of programs to assemble and manipulate binary and object files" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/binutils/" @@ -17,9 +17,14 @@ conflicts=('binutils-multilib') replaces=('binutils-multilib') options=('staticlibs' '!distcc' '!ccache') install=binutils.install -source=(ftp://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2{,.sig}) +source=(ftp://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2{,.sig} + binutils-2.24-lto-testsuite.patch + binutils-2.24-shared-pie.patch) md5sums=('e0f71a7b2ddab0f8612336ac81d9636b' - 'SKIP') + 'SKIP' + 'b16e895c24ff80acd98a21021eccefad' + 'ec59461c4febab9cfe1c1ef33326bc50') +validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93') prepare() { cd ${srcdir}/binutils-${pkgver} @@ -27,6 +32,12 @@ prepare() { # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS" sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure + # fix lto testsuite with gcc-4.9 - commit b35d44f1 + patch -p1 -i $srcdir/binutils-2.24-lto-testsuite.patch + + # fix issues with -static -fPIE -pie - commit 4199e3b8 + patch -p1 -i $srcdir/binutils-2.24-shared-pie.patch + mkdir ${srcdir}/binutils-build } @@ -36,7 +47,7 @@ build() { ${srcdir}/binutils-${pkgver}/configure --prefix=/usr \ --with-lib-path=/usr/lib:/usr/local/lib \ --with-bugurl=https://bugs.archlinux.org/ \ - --enable-threads --enable-shared \ + --enable-threads --enable-shared --with-pic \ --enable-ld=default --enable-gold --enable-plugins \ --disable-werror diff --git a/core/binutils/binutils-2.23.2-texinfo-5.0.patch b/core/binutils/binutils-2.23.2-texinfo-5.0.patch deleted file mode 100644 index 38dc19fb0..000000000 --- a/core/binutils/binutils-2.23.2-texinfo-5.0.patch +++ /dev/null @@ -1,162 +0,0 @@ -diff --git a/bfd/doc/bfd.texinfo b/bfd/doc/bfd.texinfo -index 45ffa73..3aa3300 100644 ---- a/bfd/doc/bfd.texinfo -+++ b/bfd/doc/bfd.texinfo -@@ -322,7 +324,7 @@ All of BFD lives in one directory. - @printindex cp - - @tex --% I think something like @colophon should be in texinfo. In the -+% I think something like @@colophon should be in texinfo. In the - % meantime: - \long\def\colophon{\hbox to0pt{}\vfill - \centerline{The body of this manual is set in} -@@ -333,7 +335,7 @@ All of BFD lives in one directory. - \centerline{{\sl\fontname\tensl\/}} - \centerline{are used for emphasis.}\vfill} - \page\colophon --% Blame: doc@cygnus.com, 28mar91. -+% Blame: doc@@cygnus.com, 28mar91. - @end tex - - @bye -diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi -index 56a0510..fb1802b 100644 ---- a/binutils/doc/binutils.texi -+++ b/binutils/doc/binutils.texi -@@ -148,18 +148,18 @@ in the section entitled ``GNU Free Documentation License''. - * objcopy:: Copy and translate object files - * objdump:: Display information from object files - * ranlib:: Generate index to archive contents --* readelf:: Display the contents of ELF format files - * size:: List section sizes and total size - * strings:: List printable strings from files - * strip:: Discard symbols --* elfedit:: Update the ELF header of ELF files - * c++filt:: Filter to demangle encoded C++ symbols - * cxxfilt: c++filt. MS-DOS name for c++filt - * addr2line:: Convert addresses to file and line - * nlmconv:: Converts object code into an NLM --* windres:: Manipulate Windows resources - * windmc:: Generator for Windows message resources -+* windres:: Manipulate Windows resources - * dlltool:: Create files needed to build and use DLLs -+* readelf:: Display the contents of ELF format files -+* elfedit:: Update the ELF header of ELF files - * Common Options:: Command-line options for all utilities - * Selecting the Target System:: How these utilities determine the target - * Reporting Bugs:: Reporting Bugs -@@ -2907,7 +2907,7 @@ the Info entries for @file{binutils}. - @c man end - @end ignore - --@node c++filt, addr2line, elfedit, Top -+@node c++filt, addr2line, strip, Top - @chapter c++filt - - @kindex c++filt -@@ -4384,7 +4384,7 @@ equivalent. At least one of the @option{--output-mach}, - - @table @env - --@itemx --input-mach=@var{machine} -+@item --input-mach=@var{machine} - Set the matching input ELF machine type to @var{machine}. If - @option{--input-mach} isn't specified, it will match any ELF - machine types. -@@ -4392,21 +4392,21 @@ machine types. - The supported ELF machine types are, @var{L1OM}, @var{K1OM} and - @var{x86-64}. - --@itemx --output-mach=@var{machine} -+@item --output-mach=@var{machine} - Change the ELF machine type in the ELF header to @var{machine}. The - supported ELF machine types are the same as @option{--input-mach}. - --@itemx --input-type=@var{type} -+@item --input-type=@var{type} - Set the matching input ELF file type to @var{type}. If - @option{--input-type} isn't specified, it will match any ELF file types. - - The supported ELF file types are, @var{rel}, @var{exec} and @var{dyn}. - --@itemx --output-type=@var{type} -+@item --output-type=@var{type} - Change the ELF file type in the ELF header to @var{type}. The - supported ELF types are the same as @option{--input-type}. - --@itemx --input-osabi=@var{osabi} -+@item --input-osabi=@var{osabi} - Set the matching input ELF file OSABI to @var{osabi}. If - @option{--input-osabi} isn't specified, it will match any ELF OSABIs. - -@@ -4416,7 +4416,7 @@ The supported ELF OSABIs are, @var{none}, @var{HPUX}, @var{NetBSD}, - @var{FreeBSD}, @var{TRU64}, @var{Modesto}, @var{OpenBSD}, @var{OpenVMS}, - @var{NSK}, @var{AROS} and @var{FenixOS}. - --@itemx --output-osabi=@var{osabi} -+@item --output-osabi=@var{osabi} - Change the ELF OSABI in the ELF header to @var{osabi}. The - supported ELF OSABI are the same as @option{--input-osabi}. - -diff --git a/ld/ld.texinfo b/ld/ld.texinfo -index c7ae2a5..4777ad5 100644 ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -142,12 +144,12 @@ in the section entitled ``GNU Free Documentation License''. - @ifset ARM - * ARM:: ld and the ARM family - @end ifset --@ifset HPPA --* HPPA ELF32:: ld and HPPA 32-bit ELF --@end ifset - @ifset M68HC11 - * M68HC11/68HC12:: ld and the Motorola 68HC11 and 68HC12 families - @end ifset -+@ifset HPPA -+* HPPA ELF32:: ld and HPPA 32-bit ELF -+@end ifset - @ifset M68K - * M68K:: ld and Motorola 68K family - @end ifset -@@ -6012,6 +6014,9 @@ functionality are not listed. - @ifset I960 - * i960:: @command{ld} and the Intel 960 family - @end ifset -+@ifset M68HC11 -+* M68HC11/68HC12:: @code{ld} and the Motorola 68HC11 and 68HC12 families -+@end ifset - @ifset ARM - * ARM:: @command{ld} and the ARM family - @end ifset -@@ -6027,9 +6032,6 @@ functionality are not listed. - @ifset MSP430 - * MSP430:: @command{ld} and MSP430 - @end ifset --@ifset M68HC11 --* M68HC11/68HC12:: @code{ld} and the Motorola 68HC11 and 68HC12 families --@end ifset - @ifset POWERPC - * PowerPC ELF32:: @command{ld} and PowerPC 32-bit ELF Support - @end ifset -@@ -7877,7 +7879,7 @@ If you have more than one @code{SECT} statement for the same - @printindex cp - - @tex --% I think something like @colophon should be in texinfo. In the -+% I think something like @@colophon should be in texinfo. In the - % meantime: - \long\def\colophon{\hbox to0pt{}\vfill - \centerline{The body of this manual is set in} -@@ -7888,7 +7890,7 @@ If you have more than one @code{SECT} statement for the same - \centerline{{\sl\fontname\tensl\/}} - \centerline{are used for emphasis.}\vfill} - \page\colophon --% Blame: doc@cygnus.com, 28mar91. -+% Blame: doc@@cygnus.com, 28mar91. - @end tex - - @bye --- -1.7.1 - diff --git a/core/binutils/binutils-2.24-lto-testsuite.patch b/core/binutils/binutils-2.24-lto-testsuite.patch new file mode 100644 index 000000000..498e0b59d --- /dev/null +++ b/core/binutils/binutils-2.24-lto-testsuite.patch @@ -0,0 +1,53 @@ +index c5249f0..69946de 100644 +--- a/ld/testsuite/ld-plugin/lto.exp ++++ b/ld/testsuite/ld-plugin/lto.exp +@@ -57,7 +57,7 @@ set lto_link_tests { + "" "-O2" + {lto-3c.c} {} "libdummy.a"} + {"Build liblto-3.a" +- "" "-flto" ++ "" "-flto -ffat-lto-objects" + {lto-3b.c} {} "liblto-3.a"} + {"Build libdummy.a 5a" + "" "-flto" +@@ -111,7 +111,7 @@ set lto_link_tests { + "" "" + {pr12758a.s} {} "libdummy.a"} + {"Build libpr12758.a" +- "" "-flto -O2" ++ "" "-flto -O2 -ffat-lto-objects" + {pr12758b.c} {} "libpr12758.a"} + {"PR ld/12758" + "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin tmpdir/pr12758a.o -Wl,--start-group tmpdir/libpr12758.a -Wl,--end-group" "" +@@ -120,13 +120,13 @@ set lto_link_tests { + "" "" + {pr12760a.c} {} "libdummy.a"} + {"Build libpr12760.a" +- "" "-flto -O2" ++ "" "-flto -O2 -ffat-lto-objects" + {pr12760b.c} {} "libpr12760.a"} + {"PR ld/12760" + "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin tmpdir/pr12760a.o -Wl,--start-group tmpdir/libpr12760.a -Wl,--end-group" "" + {dummy.c} {} "pr12760.exe" "c" "warning: Bad bar"} + {"Build libpr13183.a" +- "-T" "-flto -O2" ++ "-T" "-flto -O2 -ffat-lto-objects" + {pr13183a.c} {} "libpr13183.a"} + {"Build libdummy.a PR ld/13183" + "" "-flto -O2" +diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp +index 8df42ae..175449a 100644 +--- a/ld/testsuite/lib/ld-lib.exp ++++ b/ld/testsuite/lib/ld-lib.exp +@@ -1643,7 +1643,7 @@ proc check_lto_available { } { + set f [open $src "w"] + puts $f "" + close $f +- set status [remote_exec host $CC "-shared -B[pwd]/tmpdir/ld/ -flto -fuse-linker-plugin $src -o $output"] ++ set status [remote_exec host $CC "-shared -B[pwd]/tmpdir/ld/ -flto -ffat-lto-objects -fuse-linker-plugin $src -o $output"] + if { [lindex $status 0] == 0 } { + set lto_available_saved 1 + } else { +-- +1.7.1 + diff --git a/core/binutils/binutils-2.24-shared-pie.patch b/core/binutils/binutils-2.24-shared-pie.patch new file mode 100644 index 000000000..d40aa47e0 --- /dev/null +++ b/core/binutils/binutils-2.24-shared-pie.patch @@ -0,0 +1,99 @@ +diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em +index 9a2fe89..13f86f0 100644 +--- a/ld/emultempl/elf32.em ++++ b/ld/emultempl/elf32.em +@@ -1480,6 +1480,8 @@ gld${EMULATION_NAME}_before_allocation (void) + const char *rpath; + asection *sinterp; + bfd *abfd; ++ struct elf_link_hash_entry *ehdr_start = NULL; ++ struct bfd_link_hash_entry ehdr_start_save; + + if (is_elf_hash_table (link_info.hash)) + { +@@ -1504,6 +1506,16 @@ gld${EMULATION_NAME}_before_allocation (void) + _bfd_elf_link_hash_hide_symbol (&link_info, h, TRUE); + if (ELF_ST_VISIBILITY (h->other) != STV_INTERNAL) + h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN; ++ /* Don't leave the symbol undefined. Undefined hidden ++ symbols typically won't have dynamic relocations, but ++ we most likely will need dynamic relocations for ++ __ehdr_start if we are building a PIE or shared ++ library. */ ++ ehdr_start = h; ++ ehdr_start_save = h->root; ++ h->root.type = bfd_link_hash_defined; ++ h->root.u.def.section = bfd_abs_section_ptr; ++ h->root.u.def.value = 0; + } + } + +@@ -1620,6 +1632,14 @@ ${ELF_INTERPRETER_SET_DEFAULT} + + if (!bfd_elf_size_dynsym_hash_dynstr (link_info.output_bfd, &link_info)) + einfo ("%P%F: failed to set dynamic section sizes: %E\n"); ++ ++ if (ehdr_start != NULL) ++ { ++ /* If we twiddled __ehdr_start to defined earlier, put it back ++ as it was. */ ++ ehdr_start->root.type = ehdr_start_save.type; ++ ehdr_start->root.u = ehdr_start_save.u; ++ } + } + + EOF +diff --git a/ld/testsuite/ld-elf/ehdr_start-shared.d b/ld/testsuite/ld-elf/ehdr_start-shared.d +new file mode 100644 +index 0000000..c17516a +--- /dev/null ++++ b/ld/testsuite/ld-elf/ehdr_start-shared.d +@@ -0,0 +1,9 @@ ++#source: ehdr_start.s ++#ld: -e _start -shared ++#nm: -n ++#target: *-*-linux* *-*-gnu* *-*-nacl* ++#xfail: cris*-*-* frv-*-* ++ ++#... ++[0-9a-f]*000 [Adrt] __ehdr_start ++#pass +diff --git a/ld/testsuite/ld-elf/ehdr_start-userdef.d b/ld/testsuite/ld-elf/ehdr_start-userdef.d +index 2a88e98..b58ae3f 100644 +--- a/ld/testsuite/ld-elf/ehdr_start-userdef.d ++++ b/ld/testsuite/ld-elf/ehdr_start-userdef.d +@@ -2,6 +2,7 @@ + #ld: -e _start -T ehdr_start-userdef.t + #readelf: -Ws + #target: *-*-linux* *-*-gnu* *-*-nacl* ++#xfail: frv-*-* + + #... + Symbol table '\.symtab' contains [0-9]+ entries: +diff --git a/ld/testsuite/ld-elf/ehdr_start-weak.d b/ld/testsuite/ld-elf/ehdr_start-weak.d +index 8bd9035..24ae34c 100644 +--- a/ld/testsuite/ld-elf/ehdr_start-weak.d ++++ b/ld/testsuite/ld-elf/ehdr_start-weak.d +@@ -2,6 +2,7 @@ + #ld: -e _start -T ehdr_start-missing.t + #nm: -n + #target: *-*-linux* *-*-gnu* *-*-nacl* ++#xfail: frv-*-* + + #... + \s+[wU] __ehdr_start +diff --git a/ld/testsuite/ld-elf/ehdr_start.d b/ld/testsuite/ld-elf/ehdr_start.d +index 52e5b54..d538b66 100644 +--- a/ld/testsuite/ld-elf/ehdr_start.d ++++ b/ld/testsuite/ld-elf/ehdr_start.d +@@ -2,6 +2,7 @@ + #ld: -e _start + #nm: -n + #target: *-*-linux* *-*-gnu* *-*-nacl* ++#xfail: frv-*-* + + #... + [0-9a-f]*000 [Adrt] __ehdr_start +-- +1.7.1 + diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index d4909f66d..3b186436b 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 205614 2014-02-10 03:07:49Z allan $ +# $Id$ # Maintainer: Allan McRae # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -15,10 +15,10 @@ if [ "${CARCH}" != "mips64el" ]; then else pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc') fi -pkgver=4.8.2 -_pkgver=4.8 -pkgrel=8 -_snapshot=4.8-20140206 +pkgver=4.9.0 +_pkgver=4.9 +pkgrel=3 +_snapshot=4.9-20140521 pkgdesc="The GNU Compiler Collection" arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'FDL' 'custom') @@ -29,11 +29,9 @@ checkdepends=('dejagnu' 'inetutils') options=('!emptydirs') source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 - gcc-4.8-filename-output.patch - gcc-4.8-lambda-ICE.patch) -md5sums=('9d35549404a2326540fb88301ebd1977' - '40cb437805e2f7a006aa0d0c3098ab0f' - '6eb6e080dbf7bc6825f53a0aaa6c4ef9') + gcc-4.8-filename-output.patch) +md5sums=('cd3cbe93ebc7207bf65d30e3c9a74a26' + '40cb437805e2f7a006aa0d0c3098ab0f') if [ -n "${_snapshot}" ]; then _basedir=gcc-${_snapshot} @@ -60,13 +58,6 @@ prepare() { # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57653 patch -p0 -i ${srcdir}/gcc-4.8-filename-output.patch - - # http://gcc.gnu.org/bugzilla//show_bug.cgi?id=56710 - commit 3d1f8279 - patch -p1 -i ${srcdir}/gcc-4.8-lambda-ICE.patch - - # installing libiberty headers is broken - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56780#c6 - sed -i 's#@target_header_dir@#libiberty#' libiberty/Makefile.in mkdir ${srcdir}/gcc-build } @@ -146,17 +137,18 @@ package_gcc-libs() make -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared rm -f ${pkgdir}/${_libdir}/libgcc_eh.a - for lib in libmudflap \ + for lib in libatomic \ + libcilkrts \ + libgfortran \ libgomp \ libitm \ - libatomic \ - libstdc++-v3/src \ libquadmath \ - libgfortran \ - libsanitizer/asan; do - # Skip libitm and asan on mips64el + libsanitizer/{a,l,ub}san \ + libstdc++-v3/src \ + libvtv; do + # Skip libcilkrts, libitm, asan, lsan, ubsan and libvtv on mips64el test "$CARCH" = "mips64el" && - echo "libitm libsanitizer/asan" | grep -q "$lib" && + echo "libcilkrts libitm libsanitizer/asan libsanitizer/lsan libsanitizer/ubsan libvtv" | grep -q "$lib" && continue make -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES done @@ -179,9 +171,6 @@ package_gcc-libs() # Install Runtime Library Exception install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \ ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION - - # for some reason this end up both in gcc and gcc-libs - rm -f ${pkgdir}/usr/lib/libstdc++.{l,}a } package_gcc() @@ -217,18 +206,26 @@ package_gcc() make -C gcc DESTDIR=${pkgdir} install-mkheaders make -C lto-plugin DESTDIR=${pkgdir} install +# itm not available in mips + test "$CARCH" != "mips64el" && + make -C $CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \ + install-nodist_cilkincludeHEADERS make -C $CHOST/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \ install-nodist_libsubincludeHEADERS # itm not available in mips test "$CARCH" != "mips64el" && make -C $CHOST/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS - make -C $CHOST/libmudflap DESTDIR=${pkgdir} install-nobase_libsubincludeHEADERS make -C $CHOST/libquadmath DESTDIR=${pkgdir} install-nodist_libsubincludeHEADERS +# libsanitizer not available in mips + test "$CARCH" != "mips64el" && + make -C $CHOST/libsanitizer DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS # asan not available in mips test "$CARCH" != "mips64el" && make -C $CHOST/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS make -C libiberty DESTDIR=${pkgdir} install + # install PIC version of libiberty + install -m644 ${srcdir}/gcc-build/libiberty/pic/libiberty.a ${pkgdir}/usr/lib make -C gcc DESTDIR=${pkgdir} install-man install-info rm -f ${pkgdir}/usr/share/man/man1/{gccgo,gfortran}.1 @@ -237,7 +234,7 @@ package_gcc() make -C libcpp DESTDIR=${pkgdir} install make -C gcc DESTDIR=${pkgdir} install-po - # many packages expect this symlinks + # many packages expect this symlink ln -s gcc ${pkgdir}/usr/bin/cc # POSIX conformance launcher scripts for c89 and c99 diff --git a/core/gcc/gcc-4.8-lambda-ICE.patch b/core/gcc/gcc-4.8-lambda-ICE.patch deleted file mode 100644 index cf77a9b35..000000000 --- a/core/gcc/gcc-4.8-lambda-ICE.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c -index 0b8e2f7..ad1c209 100644 ---- a/gcc/cp/semantics.c -+++ b/gcc/cp/semantics.c -@@ -2719,8 +2719,10 @@ finish_member_declaration (tree decl) - /*friend_p=*/0); - } - } -- /* Enter the DECL into the scope of the class. */ -- else if (pushdecl_class_level (decl)) -+ /* Enter the DECL into the scope of the class, if the class -+ isn't a closure (whose fields are supposed to be unnamed). */ -+ else if (CLASSTYPE_LAMBDA_EXPR (current_class_type) -+ || pushdecl_class_level (decl)) - { - if (TREE_CODE (decl) == USING_DECL) - { -diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C -new file mode 100644 -index 0000000..df2b037 ---- /dev/null -+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C -@@ -0,0 +1,9 @@ -+// PR c++/56710 -+// { dg-options "-std=c++11 -Wall" } -+ -+int main() -+{ -+ int t = 0; -+ return [&]() -> int {int __t; __t = t; return __t; }(); -+ return [&t]() -> int {int __t; __t = t; return __t; }(); -+} --- -1.8.4.2 - diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD index 302b4d6bc..3951ab649 100644 --- a/core/glibc/PKGBUILD +++ b/core/glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 205934 2014-02-14 08:16:44Z allan $ +# $Id: PKGBUILD 213324 2014-05-20 08:17:34Z allan $ # Maintainer: Allan McRae # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -8,7 +8,7 @@ pkgname=glibc pkgver=2.19 -pkgrel=2 +pkgrel=5 pkgdesc="GNU C Library" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/libc" @@ -22,20 +22,30 @@ backup=(etc/gai.conf options=('!strip' 'staticlibs') install=glibc.install source=(http://ftp.gnu.org/gnu/libc/${pkgname}-${pkgver}.tar.xz{,.sig} - glibc-2.18-xattr-compat-hack.patch + glibc-2.19-xattr_header.patch + glibc-2.19-fix-sign-in-bsloww1-input.patch + glibc-2.19-tzselect-default.patch locale.gen.txt locale-gen) md5sums=('e26b8cc666b162f999404b03970f14e4' 'SKIP' - '7ca96c68a37f2a4ab91792bfa0160a24' + '39a4876837789e07746f1d84cd8cb46a' + '755a1a9d7844a5e338eddaa9a5d974cd' + 'c772dc99ddd8032ecbf43884ae0cf42e' '07ac979b6ab5eeb778d55f041529d623' '476e9113489f93b348b21e144b6a8fcf') prepare() { cd ${srcdir}/${pkgname}-${pkgver} - # hack fix for {linux,sys}/xattr.h incompatibility - patch -p1 -i $srcdir/glibc-2.18-xattr-compat-hack.patch + # fix for {linux,sys}/xattr.h incompatibility - commit fdbe8eae + patch -p1 -i $srcdir/glibc-2.19-xattr_header.patch + + # fix issues in sin/cos slow path calculation - commit ffe768a9 + patch -p1 -i $srcdir/glibc-2.19-fix-sign-in-bsloww1-input.patch + + # fix tzselect with missing TZDIR - commit 893b4f37/c72399fb + patch -p1 -i $srcdir/glibc-2.19-tzselect-default.patch mkdir ${srcdir}/glibc-build } @@ -98,7 +108,10 @@ check() { LDFLAGS=${LDFLAGS/--as-needed,/} cd ${srcdir}/glibc-build - make check + + # ULP failures on i686 are all small and can be ignored + # tst-cleanupx4.out failure on i686 needs investigating... + make -k check || true fi } diff --git a/core/glibc/glibc-2.18-xattr-compat-hack.patch b/core/glibc/glibc-2.18-xattr-compat-hack.patch deleted file mode 100644 index 7486922d7..000000000 --- a/core/glibc/glibc-2.18-xattr-compat-hack.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -Naur glibc-2.18-orig/misc/sys/xattr.h glibc-2.18/misc/sys/xattr.h ---- glibc-2.18-orig/misc/sys/xattr.h 2013-08-11 08:52:55.000000000 +1000 -+++ glibc-2.18/misc/sys/xattr.h 2014-01-07 15:45:50.533969040 +1000 -@@ -26,13 +26,8 @@ - - /* The following constants should be used for the fifth parameter of - `*setxattr'. */ --enum --{ -- XATTR_CREATE = 1, /* set value, fail if attr already exists. */ --#define XATTR_CREATE XATTR_CREATE -- XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */ --#define XATTR_REPLACE XATTR_REPLACE --}; -+#define XATTR_CREATE 1 -+#define XATTR_REPLACE 2 - - /* Set the attribute NAME of the file pointed to by PATH to VALUE (which - is SIZE bytes long). Return 0 on success, -1 for errors. */ diff --git a/core/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch b/core/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch new file mode 100644 index 000000000..91b0c9abb --- /dev/null +++ b/core/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch @@ -0,0 +1,71 @@ +From ffe768a90912f9bce43b70a82576b3dc99e3121c Mon Sep 17 00:00:00 2001 +From: Siddhesh Poyarekar +Date: Thu, 27 Feb 2014 21:29:16 +0530 +Subject: [PATCH] Fix sign of input to bsloww1 (BZ #16623) + +In 84ba214c, I removed some redundant sign computations and in the +process, I incorrectly got rid of a temporary variable, thus passing +the absolute value of the input to bsloww1. This caused #16623. + +This fix undoes the incorrect change. +--- + sysdeps/ieee754/dbl-64/s_sin.c | 16 ++++++++++------ + 3 files changed, 18 insertions(+), 7 deletions(-) + +diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c +index 6105e9f..50109b8 100644 +--- a/sysdeps/ieee754/dbl-64/s_sin.c ++++ b/sysdeps/ieee754/dbl-64/s_sin.c +@@ -447,19 +447,21 @@ __sin (double x) + } + else + { ++ double t; + if (a > 0) + { + m = 1; ++ t = a; + db = da; + } + else + { + m = 0; +- a = -a; ++ t = -a; + db = -da; + } +- u.x = big + a; +- y = a - (u.x - big); ++ u.x = big + t; ++ y = t - (u.x - big); + res = do_sin (u, y, db, &cor); + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) +@@ -671,19 +673,21 @@ __cos (double x) + } + else + { ++ double t; + if (a > 0) + { + m = 1; ++ t = a; + db = da; + } + else + { + m = 0; +- a = -a; ++ t = -a; + db = -da; + } +- u.x = big + a; +- y = a - (u.x - big); ++ u.x = big + t; ++ y = t - (u.x - big); + res = do_sin (u, y, db, &cor); + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) +-- +1.9.0 + diff --git a/core/glibc/glibc-2.19-tzselect-default.patch b/core/glibc/glibc-2.19-tzselect-default.patch new file mode 100644 index 000000000..ccafb0b60 --- /dev/null +++ b/core/glibc/glibc-2.19-tzselect-default.patch @@ -0,0 +1,13 @@ +diff --git a/timezone/Makefile b/timezone/Makefile +index 998cd14..d5f647c 100644 +--- a/timezone/Makefile ++++ b/timezone/Makefile +@@ -118,7 +118,7 @@ $(testdata)/Asia/Tokyo: asia $(zic-deps) + + $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make + sed -e 's|/bin/bash|$(KSH)|g' \ +- -e '/TZDIR=/s|\$$(pwd)|$(zonedir)|' \ ++ -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \ + -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \ + -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \ + -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \ diff --git a/core/glibc/glibc-2.19-xattr_header.patch b/core/glibc/glibc-2.19-xattr_header.patch new file mode 100644 index 000000000..438626ef3 --- /dev/null +++ b/core/glibc/glibc-2.19-xattr_header.patch @@ -0,0 +1,42 @@ +From: Serge Hallyn +Date: Tue, 11 Mar 2014 04:17:07 +0000 (-0500) +Subject: misc/sys/xattr.h: guard against linux uapi header inclusion +X-Git-Url: https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=fdbe8eae;hp=fede7a5ffa188c22c3789135bd5cf82e487dd3d0 + +misc/sys/xattr.h: guard against linux uapi header inclusion + +If the glibc xattr.h header is included after the uapi header, +compilation fails due to an enum re-using a #define from the +uapi header. Protect against this by guarding the define and +enum inclusions against each other. + +(A corresponding kernel patch has been sent here: +http://lkml.org/lkml/2014/3/7/331 ) + +(See https://lists.debian.org/debian-glibc/2014/03/msg00029.html +and https://sourceware.org/glibc/wiki/Synchronizing_Headers +for more information.) + +Signed-off-by: Serge Hallyn +--- + +diff --git a/misc/sys/xattr.h b/misc/sys/xattr.h +index 929cd87..796df90 100644 +--- a/misc/sys/xattr.h ++++ b/misc/sys/xattr.h +@@ -26,6 +26,7 @@ __BEGIN_DECLS + + /* The following constants should be used for the fifth parameter of + `*setxattr'. */ ++#ifndef __USE_KERNEL_XATTR_DEFS + enum + { + XATTR_CREATE = 1, /* set value, fail if attr already exists. */ +@@ -33,6 +34,7 @@ enum + XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */ + #define XATTR_REPLACE XATTR_REPLACE + }; ++#endif + + /* Set the attribute NAME of the file pointed to by PATH to VALUE (which + is SIZE bytes long). Return 0 on success, -1 for errors. */ diff --git a/core/glibc/nscd.service b/core/glibc/nscd.service deleted file mode 100644 index 875570dc2..000000000 --- a/core/glibc/nscd.service +++ /dev/null @@ -1,18 +0,0 @@ -# systemd service file for nscd - -[Unit] -Description=Name Service Cache Daemon - -[Service] -Type=simple -ExecStart=/usr/sbin/nscd --foreground -ExecStop=/usr/sbin/nscd --shutdown -ExecReload=/usr/sbin/nscd -i passwd -ExecReload=/usr/sbin/nscd -i group -ExecReload=/usr/sbin/nscd -i hosts -ExecReload=/usr/sbin/nscd -i services -Restart=always -PIDFile=/run/nscd/nscd.pid - -[Install] -WantedBy=multi-user.target diff --git a/core/glibc/nscd.tmpfiles b/core/glibc/nscd.tmpfiles deleted file mode 100644 index 52edbba67..000000000 --- a/core/glibc/nscd.tmpfiles +++ /dev/null @@ -1,4 +0,0 @@ -# Configuration to create /run/nscd directory -# Used as part of systemd's tmpfiles - -d /run/nscd 0755 root root diff --git a/core/gmp/PKGBUILD b/core/gmp/PKGBUILD index f19fa68be..e33518583 100644 --- a/core/gmp/PKGBUILD +++ b/core/gmp/PKGBUILD @@ -1,23 +1,23 @@ -# $Id: PKGBUILD 197162 2013-10-23 13:04:59Z allan $ +# $Id: PKGBUILD 208892 2014-03-28 12:28:18Z allan $ # Maintainer: Allan McRae -# Maintainer: Jan de Groot +# Contributer: Jan de Groot pkgname=gmp -pkgver=5.1.3 -pkgrel=2 +pkgver=6.0.0 +pkgrel=1 pkgdesc="A free library for arbitrary precision arithmetic" arch=('i686' 'x86_64' 'mips64el') url="http://gmplib.org/" depends=('gcc-libs' 'sh') license=('LGPL3') install=gmp.install -source=(ftp://ftp.gmplib.org/pub/gmp-${pkgver}/gmp-${pkgver}.tar.xz{,.sig}) -md5sums=('e5fe367801ff067b923d1e6a126448aa' +source=(ftp://ftp.gmplib.org/pub/gmp-${pkgver}/gmp-${pkgver}a.tar.xz{,.sig}) +md5sums=('1e6da4e434553d2811437aa42c7f7c76' 'SKIP') build() { cd "${srcdir}/${pkgname}-${pkgver}" - + [ "${CARCH}" = "mips64el" ] && export ABI="n32" ./configure --build=${CHOST} \ diff --git a/core/libtool/PKGBUILD b/core/libtool/PKGBUILD index 5f916f86d..7c764c9a3 100644 --- a/core/libtool/PKGBUILD +++ b/core/libtool/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 197158 2013-10-23 13:04:23Z allan $ +# $Id: PKGBUILD 211962 2014-05-02 08:39:41Z allan $ # Maintainer: Allan McRae # Contributor: judd @@ -6,8 +6,8 @@ pkgname=('libtool' 'libltdl') pkgver=2.4.2 -_gccver=4.8.2 -pkgrel=12 +_gccver=4.9.0 +pkgrel=13 pkgdesc="A generic library support script" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/libtool" diff --git a/libre/linux-libre-api-headers/PKGBUILD b/libre/linux-libre-api-headers/PKGBUILD index 087a0cae8..e6218ab0d 100644 --- a/libre/linux-libre-api-headers/PKGBUILD +++ b/libre/linux-libre-api-headers/PKGBUILD @@ -5,8 +5,8 @@ # toolchain build order: linux-libre-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=linux-libre-api-headers -_basekernel=3.13 -_sublevel=2 +_basekernel=3.14 +_sublevel=1 pkgver=${_basekernel}.${_sublevel} pkgrel=1 pkgdesc="Kernel headers sanitized for use in userspace" @@ -17,17 +17,28 @@ provides=("linux-api-headers=${pkgver}") conflicts=('linux-api-headers') replaces=('linux-api-headers') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" - "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz") -md5sums=('98a8e803e0ed08557f3cdd4d56b0ddc1' - '5594978ab8b62033274cf36305baf238') + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz" + "linux-3.14-xattr_header.patch") -build() { +md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' + '2b4862b3c76011e66e536f18fbf0fb27' + '22926521588b2e95f3c2a2cb428e7cf9') + +prepare() { cd ${srcdir}/linux-${_basekernel} if [ "${_basekernel}" != "${pkgver}" ]; then patch -p1 -i "${srcdir}/patch-${_basekernel}-gnu-${pkgver}-gnu" fi + # fix xattr.h dual inclusion issues + # https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/?id=ea1a8217 + patch -p1 -i $srcdir/linux-3.14-xattr_header.patch +} + +build() { + cd ${srcdir}/linux-${_basekernel} + make mrproper make headers_check } diff --git a/libre/linux-libre-api-headers/linux-3.14-xattr_header.patch b/libre/linux-libre-api-headers/linux-3.14-xattr_header.patch new file mode 100644 index 000000000..1ea583d86 --- /dev/null +++ b/libre/linux-libre-api-headers/linux-3.14-xattr_header.patch @@ -0,0 +1,76 @@ +From ea1a8217b06b41b31a2b60b0b83f75c77ef9c873 Mon Sep 17 00:00:00 2001 +From: Serge Hallyn +Date: Thu, 3 Apr 2014 14:48:33 -0700 +Subject: xattr: guard against simultaneous glibc header inclusion + +If the glibc xattr.h header is included after the uapi header, +compilation fails due to an enum re-using a #define from the uapi +header. + +Protect against this by guarding the define and enum inclusions against +each other. + +(See https://lists.debian.org/debian-glibc/2014/03/msg00029.html +and https://sourceware.org/glibc/wiki/Synchronizing_Headers +for more information.) + +Signed-off-by: Serge Hallyn +Cc: Andrew Morton +Cc: Allan McRae +Cc: +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds + +diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h +index 335e8a7..c140620 100644 +--- a/include/uapi/linux/libc-compat.h ++++ b/include/uapi/linux/libc-compat.h +@@ -85,6 +85,12 @@ + + #endif /* _NETINET_IN_H */ + ++/* Definitions for xattr.h */ ++#if defined(_SYS_XATTR_H) ++#define __UAPI_DEF_XATTR 0 ++#else ++#define __UAPI_DEF_XATTR 1 ++#endif + + /* If we did not see any headers from any supported C libraries, + * or we are being included in the kernel, then define everything +@@ -98,6 +104,9 @@ + #define __UAPI_DEF_IPV6_MREQ 1 + #define __UAPI_DEF_IPPROTO_V6 1 + ++/* Definitions for xattr.h */ ++#define __UAPI_DEF_XATTR 1 ++ + #endif /* __GLIBC__ */ + + #endif /* _UAPI_LIBC_COMPAT_H */ +diff --git a/include/uapi/linux/xattr.h b/include/uapi/linux/xattr.h +index 40bbc04..c38355c 100644 +--- a/include/uapi/linux/xattr.h ++++ b/include/uapi/linux/xattr.h +@@ -7,11 +7,18 @@ + Copyright (c) 2001-2002 Silicon Graphics, Inc. All Rights Reserved. + Copyright (c) 2004 Red Hat, Inc., James Morris + */ ++ ++#include ++ + #ifndef _UAPI_LINUX_XATTR_H + #define _UAPI_LINUX_XATTR_H + ++#ifdef __UAPI_DEF_XATTR ++#define __USE_KERNEL_XATTR_DEFS ++ + #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */ + #define XATTR_REPLACE 0x2 /* set value, fail if attr does not exist */ ++#endif + + /* Namespaces */ + #define XATTR_OS2_PREFIX "os2." +-- +cgit v0.10.1 + -- cgit v1.2.2