diff options
Diffstat (limited to 'patches/glibc/2.2.5')
56 files changed, 0 insertions, 5576 deletions
diff --git a/patches/glibc/2.2.5/alpha-build-failure.patch b/patches/glibc/2.2.5/alpha-build-failure.patch deleted file mode 100644 index d131f1b..0000000 --- a/patches/glibc/2.2.5/alpha-build-failure.patch +++ /dev/null @@ -1,37 +0,0 @@ -See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=156841 - -Here's the error I got before I applied the patch: - -/home3/dank/crosstool-0.5/result/alpha-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/alpha-unknown-linux-gnu/3.2.3/../../../../alpha-unknown-linux-gnu/bin/ld: /home3/dank/crosstool-0.5/build/alpha-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/libc_pic.os: pc-relative relocation against dynamic symbol __divlu -/home3/dank/crosstool-0.5/result/alpha-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/alpha-unknown-linux-gnu/3.2.3/../../../../alpha-unknown-linux-gnu/bin/ld: /home3/dank/crosstool-0.5/build/alpha-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/libc_pic.os: pc-relative relocation against dynamic symbol __divqu -/home3/dank/crosstool-0.5/result/alpha-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/alpha-unknown-linux-gnu/3.2.3/../../../../alpha-unknown-linux-gnu/bin/ld: /home3/dank/crosstool-0.5/build/alpha-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/libc_pic.os: pc-relative relocation against dynamic symbol __remlu -/home3/dank/crosstool-0.5/result/alpha-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/alpha-unknown-linux-gnu/3.2.3/../../../../alpha-unknown-linux-gnu/bin/ld: /home3/dank/crosstool-0.5/build/alpha-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/libc_pic.os: pc-relative relocation against dynamic symbol __remqu -collect2: ld returned 1 exit status -make[1]: *** [/home3/dank/crosstool-0.5/build/alpha-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/libc.so] Error 1 - - ---- glibc-2.2.5/sysdeps/alpha/divrem.h 6 Jul 2001 04:55:45 -0000 1.8 -+++ glibc-2.2.5/sysdeps/alpha/divrem.h 15 Jun 2002 20:53:37 -0000 1.9 -@@ -1,4 +1,4 @@ --/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. -+/* Copyright (C) 1996,97,2002 Free Software Foundation, Inc. - Contributed by David Mosberger (davidm@cs.arizona.edu). - This file is part of the GNU C Library. - -@@ -86,6 +86,7 @@ - - .align 3 - UFUNC_NAME: -+$udiv_entry: - lda sp, -STACK(sp) - .frame sp, STACK, retaddr, 0 - #ifdef PROF -@@ -206,7 +207,7 @@ - cmovge AT, AT, arg2 - - /* Do the unsigned division. */ -- bsr retaddr, UFUNC_NAME -+ bsr retaddr, $udiv_entry - - /* Restore originals and adjust the sign of the result. */ - ldq arg1, 0(sp) diff --git a/patches/glibc/2.2.5/arm-asm-clobber.patch b/patches/glibc/2.2.5/arm-asm-clobber.patch deleted file mode 100644 index 06376b5..0000000 --- a/patches/glibc/2.2.5/arm-asm-clobber.patch +++ /dev/null @@ -1,23 +0,0 @@ -http://gcc.gnu.org/PR11103 - -Error: -../sysdeps/unix/sysv/linux/arm/sigaction.c: In function `__libc_sigaction': -../sysdeps/unix/sysv/linux/arm/sigaction.c:100: error: asm-specifier for variable `_a1' conflicts with asm clobber list -../sysdeps/unix/sysv/linux/arm/sigaction.c:139: error: asm-specifier for variable `_a1' conflicts with asm clobber list -make[2]: *** [/crosstool-0.22/build/arm-unknown-linux-gnu/gcc-3.3-glibc-2.2.5/build-glibc/signal/sigaction.o] Error 1 - -Fix from http://lists.arm.linux.org.uk/pipermail/linux-arm/2003-July/005826.html -rediffed against glibc-2.2.5 -Not tested. (I don't even understand it, just being a patch monkey...) - ---- glibc-2.2.5/sysdeps/unix/sysv/linux/arm/sysdep.h.old Wed Aug 27 09:58:15 2003 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/arm/sysdep.h Wed Aug 27 09:59:04 2003 -@@ -131,7 +131,7 @@ - asm volatile ("swi %1 @ syscall " #name \ - : "=r" (_a1) \ - : "i" (SYS_ify(name)) ASM_ARGS_##nr \ -- : "a1", "memory"); \ -+ : "memory"); \ - _sys_result = _a1; \ - } \ - if (_sys_result >= (unsigned int) -4095) \ diff --git a/patches/glibc/2.2.5/arm-ctl_bus_isa.patch b/patches/glibc/2.2.5/arm-ctl_bus_isa.patch deleted file mode 100644 index 3422070..0000000 --- a/patches/glibc/2.2.5/arm-ctl_bus_isa.patch +++ /dev/null @@ -1,51 +0,0 @@ -Applies to both glibc-2.2.5 and glibc-2.3.2, and probably glibc cvs as of Aug 2004. -Needed to build glibc with linux kernels 2.4.23 or higher on ARM, -Fixes following error: - -../sysdeps/unix/sysv/linux/arm/ioperm.c: In function `init_iosys': -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: `BUS_ISA' undeclared (first use in this function) -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: (Each undeclared identifier is reported only once -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: for each function it appears in.) -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: initializer element is not constant -../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: (near initialization for `iobase_name[1]') -../sysdeps/unix/sysv/linux/arm/ioperm.c:104: error: initializer element is not constant -../sysdeps/unix/sysv/linux/arm/ioperm.c:104: error: (near initialization for `ioshift_name[1]') -make[2]: *** [/home/dank/crosstool-0.28/build/arm-softfloat-linux-gnu/gcc-3.3.4-glibc-2.2.5/build-glibc/misc/ioperm.o] Error 1 - -cf. "[SYSCTL] BUS_ISA -> CTL_BUS_ISA", http://www.ussg.iu.edu/hypermail/linux/kernel/0311.0/0529.html - ---- glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c.old 2003-02-20 14:22:24.000000000 -0800 -+++ glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c 2004-01-31 16:01:50.000000000 -0800 -@@ -47,6 +47,12 @@ - #include <asm/page.h> - #include <sys/sysctl.h> - -+/* see http://www.ussg.iu.edu/hypermail/linux/kernel/0311.0/0529.html */ -+#include <linux/version.h> -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23)) -+#define CTL_BUS_ISA BUS_ISA /* and hope it's not the one from linux/input.h */ -+#endif -+ - #define PATH_ARM_SYSTYPE "/etc/arm_systype" - #define PATH_CPUINFO "/proc/cpuinfo" - -@@ -80,7 +86,7 @@ - * Initialize I/O system. There are several ways to get the information - * we need. Each is tried in turn until one succeeds. - * -- * 1. Sysctl (CTL_BUS, BUS_ISA, ISA_*). This is the preferred method -+ * 1. Sysctl (CTL_BUS, CTL_BUS_ISA, ISA_*). This is the preferred method - * but not all kernels support it. - * - * 2. Read the value (not the contents) of symlink PATH_ARM_SYSTYPE. -@@ -100,8 +106,8 @@ - { - char systype[256]; - int i, n; -- static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE }; -- static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT }; -+ static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE }; -+ static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT }; - size_t len = sizeof(io.base); - - if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0) diff --git a/patches/glibc/2.2.5/cris-libc-symbols.patch b/patches/glibc/2.2.5/cris-libc-symbols.patch deleted file mode 100644 index 42c67d2..0000000 --- a/patches/glibc/2.2.5/cris-libc-symbols.patch +++ /dev/null @@ -1,97 +0,0 @@ -From http://sources.redhat.com/ml/libc-alpha/2002-06/msg00006.html - -Message-ID: <15612.44195.299251.921969@honolulu.ilog.fr> -Date: Tue, 4 Jun 2002 14:03:47 +0200 (CEST) -From: Bruno Haible <bruno at clisp dot org> -To: libc-alpha at sources dot redhat dot com -Subject: link_warning fix - - -Hi, - -While cross-compiling glibc-2.2.5 for target=cris-linux using gcc-3.1 and -binutils-2.12.90.0.7, I get an error - -cris-linux-gcc ../sysdeps/unix/sysv/linux/sigstack.c -c -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g -I../include -I. -I/backup/cross-build/build-glibc-cris/signal -I.. -I../libio -I/backup/cross-build/build-glibc-cris -I../sysdeps/cris/elf -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/cris -I../sysdeps/unix/sysv/linux/cris -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/cris -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /cross/cris-linux-tools/lib/gcc-lib/cris-linux/3.1/include -isystem /cross/cris-linux/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -o /backup/cross-build/build-glibc-cris/signal/sigstack.o -/tmp/cca7qZyI.s: Assembler messages: -/tmp/cca7qZyI.s:87: Warning: rest of line ignored; first ignored character is `,' -/tmp/cca7qZyI.s:87: Error: Unknown opcode: `progbits' -make[2]: *** [/backup/cross-build/build-glibc-cris/signal/sigstack.o] Fehler 1 - - -The reason is that the .s file contains the following. - -... - .size sigstack,.Lfe1-sigstack -#APP - .section .gnu.warning.sigstack - .previous -#NO_APP - .section .gnu.warning.sigstack - #,"a",@progbits - .align 2 - .type __evoke_link_warning_sigstack,@object -... - -and comments (introduced by '#') are recognized by the assembler only after -#APP, not after #NO_APP. The workaround is to add '#APP' to the fake section -name. The following patch works for me. - -2002-06-02 Bruno Haible <bruno@clisp.org> - - * include/libc-symbols.h (__as_app_line): New macro. - (link_warning): Emit #APP line to turn comment recognition on. - -*** glibc-2.2.5/include/libc-symbols.h.bak 2001-08-04 01:02:52.000000000 +0200 ---- glibc-2.2.5/include/libc-symbols.h 2002-06-02 16:22:15.000000000 +0200 -*************** -*** 207,224 **** - # define __make_section_unallocated(section_string) - # endif - -! /* Tacking on "\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 link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ -! static const char __evoke_link_warning_##symbol[] \ -! __attribute__ ((section (".gnu.warning." #symbol "\"\n\t#\""))) = msg; - # else - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ -! static const char __evoke_link_warning_##symbol[] \ -! __attribute__ ((section (".gnu.warning." #symbol "\n\t#"))) = msg; - # endif - # else /* Not ELF: a.out */ - # ifdef HAVE_XCOFF ---- 207,235 ---- - # define __make_section_unallocated(section_string) - # endif - -! /* Tacking on "\n\t#" to the section name makes gcc put its bogus -! section attributes on what looks like a comment to the assembler. -! Furthermore, with gas, we need to add a "#APP" line so the comment -! is recognized as such. */ -! # ifdef HAVE_GNU_AS -! # define __as_app_line "#APP\n" -! # else -! # define __as_app_line "" -! # endif - # ifdef HAVE_SECTION_QUOTES - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ -! static const char __evoke_link_warning_##symbol[] \ -! __attribute__ \ -! ((section (".gnu.warning." #symbol "\"\n" __as_app_line "\t#\""))) \ -! = msg; - # else - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ -! static const char __evoke_link_warning_##symbol[] \ -! __attribute__ \ -! ((section (".gnu.warning." #symbol "\n" __as_app_line "\t#"))) \ -! = msg; - # endif - # else /* Not ELF: a.out */ - # ifdef HAVE_XCOFF - diff --git a/patches/glibc/2.2.5/cris-stack-direction.patch b/patches/glibc/2.2.5/cris-stack-direction.patch deleted file mode 100644 index 158eb39..0000000 --- a/patches/glibc/2.2.5/cris-stack-direction.patch +++ /dev/null @@ -1,61 +0,0 @@ -From http://sources.redhat.com/ml/libc-alpha/2002-06/msg00007.html - -Message-ID: <15612.44228.774370.154718@honolulu.ilog.fr> -Date: Tue, 4 Jun 2002 14:04:20 +0200 (CEST) -From: Bruno Haible <bruno at clisp dot org> -To: libc-alpha at sources dot redhat dot com -Subject: cris stack direction - - -Hi, - -While cross-compiling glibc-2.2.5 for target=cris-linux using gcc-3.1 and -binutils-2.12.90.0.7, I get an error - -cris-linux-gcc cancel.c -c -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g -D__NO_WEAK_PTHREAD_ALIASES -D_RPC_THREAD_SAFE_ -I../include -I. -I/backup/cross-build/build-glibc-cris/linuxthreads -I.. -I../libio -I/backup/cross-build/build-glibc-cris -I../sysdeps/cris/elf -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/cris -I../sysdeps/unix/sysv/linux/cris -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/cris -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /cross/cris-linux-tools/lib/gcc-lib/cris-linux/3.1/include -isystem /cross/cris-linux/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -o /backup/cross-build/build-glibc-cris/linuxthreads/cancel.o -cancel.c:29:3: #error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" -cancel.c: In function `_pthread_cleanup_push': -cancel.c:134: warning: implicit declaration of function `FRAME_LEFT' -make[2]: *** [/backup/cross-build/build-glibc-cris/linuxthreads/cancel.o] Fehler 1 - -The fix is to add a file sysdeps/cris/stackinfo.h. - - -2002-06-02 Bruno Haible <bruno@clisp.org> - - * sysdeps/cris/stackinfo.h: New file. - -*** glibc-2.2.5/sysdeps/cris/stackinfo.h.bak 2002-06-02 17:52:05.000000000 +0200 ---- glibc-2.2.5/sysdeps/cris/stackinfo.h 2002-06-02 17:52:24.000000000 +0200 -*************** -*** 0 **** ---- 1,28 ---- -+ /* Copyright (C) 2002 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. */ -+ -+ /* This file contains a bit of information about the stack allocation -+ of the processor. */ -+ -+ #ifndef _STACKINFO_H -+ #define _STACKINFO_H 1 -+ -+ /* On cris the stack grows down. */ -+ #define _STACK_GROWS_DOWN 1 -+ -+ #endif /* stackinfo.h */ - diff --git a/patches/glibc/2.2.5/dl-machine-alpha.patch b/patches/glibc/2.2.5/dl-machine-alpha.patch deleted file mode 100644 index 50e5bc5..0000000 --- a/patches/glibc/2.2.5/dl-machine-alpha.patch +++ /dev/null @@ -1,424 +0,0 @@ -From http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/alpha/dl-machine.h.diff?r1=1.56&r2=1.57&cvsroot=glibc -(minus first hunk) -Lets glibc-2.2.5 compile with gcc-3.3 - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/alpha/dl-machine.h,v -retrieving revision 1.56 -retrieving revision 1.57 -diff -u -r1.56 -r1.57 ---- libc/sysdeps/alpha/dl-machine.h 2001/12/12 00:10:27 1.56 -+++ libc/sysdeps/alpha/dl-machine.h 2001/12/31 17:33:59 1.57 -@@ -156,125 +157,126 @@ - #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name, IMB) \ - extern void tramp_name (void); \ - asm ( "\ -- .globl " #tramp_name " -- .ent " #tramp_name " --" #tramp_name ": -- lda $sp, -44*8($sp) -- .frame $sp, 44*8, $26 -- /* Preserve all integer registers that C normally doesn't. */ -- stq $26, 0*8($sp) -- stq $0, 1*8($sp) -- stq $1, 2*8($sp) -- stq $2, 3*8($sp) -- stq $3, 4*8($sp) -- stq $4, 5*8($sp) -- stq $5, 6*8($sp) -- stq $6, 7*8($sp) -- stq $7, 8*8($sp) -- stq $8, 9*8($sp) -- stq $16, 10*8($sp) -- stq $17, 11*8($sp) -- stq $18, 12*8($sp) -- stq $19, 13*8($sp) -- stq $20, 14*8($sp) -- stq $21, 15*8($sp) -- stq $22, 16*8($sp) -- stq $23, 17*8($sp) -- stq $24, 18*8($sp) -- stq $25, 19*8($sp) -- stq $29, 20*8($sp) -- stt $f0, 21*8($sp) -- stt $f1, 22*8($sp) -- stt $f10, 23*8($sp) -- stt $f11, 24*8($sp) -- stt $f12, 25*8($sp) -- stt $f13, 26*8($sp) -- stt $f14, 27*8($sp) -- stt $f15, 28*8($sp) -- stt $f16, 29*8($sp) -- stt $f17, 30*8($sp) -- stt $f18, 31*8($sp) -- stt $f19, 32*8($sp) -- stt $f20, 33*8($sp) -- stt $f21, 34*8($sp) -- stt $f22, 35*8($sp) -- stt $f23, 36*8($sp) -- stt $f24, 37*8($sp) -- stt $f25, 38*8($sp) -- stt $f26, 39*8($sp) -- stt $f27, 40*8($sp) -- stt $f28, 41*8($sp) -- stt $f29, 42*8($sp) -- stt $f30, 43*8($sp) -- .mask 0x27ff01ff, -44*8 -- .fmask 0xfffffc03, -(44-21)*8 -- /* Set up our $gp */ -- br $gp, .+4 -- ldgp $gp, 0($gp) -- .prologue 0 -- /* Set up the arguments for fixup: */ -- /* $16 = link_map out of plt0 */ -- /* $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24 */ -- /* $18 = return address */ -- subq $28, $27, $17 -- ldq $16, 8($27) -- subq $17, 20, $17 -- mov $26, $18 -- addq $17, $17, $17 -- /* Do the fixup */ -- bsr $26, " ASM_ALPHA_NG_SYMBOL_PREFIX #fixup_name "..ng -- /* Move the destination address into position. */ -- mov $0, $27 -- /* Restore program registers. */ -- ldq $26, 0*8($sp) -- ldq $0, 1*8($sp) -- ldq $1, 2*8($sp) -- ldq $2, 3*8($sp) -- ldq $3, 4*8($sp) -- ldq $4, 5*8($sp) -- ldq $5, 6*8($sp) -- ldq $6, 7*8($sp) -- ldq $7, 8*8($sp) -- ldq $8, 9*8($sp) -- ldq $16, 10*8($sp) -- ldq $17, 11*8($sp) -- ldq $18, 12*8($sp) -- ldq $19, 13*8($sp) -- ldq $20, 14*8($sp) -- ldq $21, 15*8($sp) -- ldq $22, 16*8($sp) -- ldq $23, 17*8($sp) -- ldq $24, 18*8($sp) -- ldq $25, 19*8($sp) -- ldq $29, 20*8($sp) -- ldt $f0, 21*8($sp) -- ldt $f1, 22*8($sp) -- ldt $f10, 23*8($sp) -- ldt $f11, 24*8($sp) -- ldt $f12, 25*8($sp) -- ldt $f13, 26*8($sp) -- ldt $f14, 27*8($sp) -- ldt $f15, 28*8($sp) -- ldt $f16, 29*8($sp) -- ldt $f17, 30*8($sp) -- ldt $f18, 31*8($sp) -- ldt $f19, 32*8($sp) -- ldt $f20, 33*8($sp) -- ldt $f21, 34*8($sp) -- ldt $f22, 35*8($sp) -- ldt $f23, 36*8($sp) -- ldt $f24, 37*8($sp) -- ldt $f25, 38*8($sp) -- ldt $f26, 39*8($sp) -- ldt $f27, 40*8($sp) -- ldt $f28, 41*8($sp) -- ldt $f29, 42*8($sp) -- ldt $f30, 43*8($sp) -- /* Flush the Icache after having modified the .plt code. */ -- " #IMB " -- /* Clean up and turn control to the destination */ -- lda $sp, 44*8($sp) -- jmp $31, ($27) -+ .globl " #tramp_name " \n\ -+ .ent " #tramp_name " \n\ -+" #tramp_name ": \n\ -+ lda $sp, -44*8($sp) \n\ -+ .frame $sp, 44*8, $26 \n\ -+ /* Preserve all integer registers that C normally \n\ -+ doesn't. */ \n\ -+ stq $26, 0*8($sp) \n\ -+ stq $0, 1*8($sp) \n\ -+ stq $1, 2*8($sp) \n\ -+ stq $2, 3*8($sp) \n\ -+ stq $3, 4*8($sp) \n\ -+ stq $4, 5*8($sp) \n\ -+ stq $5, 6*8($sp) \n\ -+ stq $6, 7*8($sp) \n\ -+ stq $7, 8*8($sp) \n\ -+ stq $8, 9*8($sp) \n\ -+ stq $16, 10*8($sp) \n\ -+ stq $17, 11*8($sp) \n\ -+ stq $18, 12*8($sp) \n\ -+ stq $19, 13*8($sp) \n\ -+ stq $20, 14*8($sp) \n\ -+ stq $21, 15*8($sp) \n\ -+ stq $22, 16*8($sp) \n\ -+ stq $23, 17*8($sp) \n\ -+ stq $24, 18*8($sp) \n\ -+ stq $25, 19*8($sp) \n\ -+ stq $29, 20*8($sp) \n\ -+ stt $f0, 21*8($sp) \n\ -+ stt $f1, 22*8($sp) \n\ -+ stt $f10, 23*8($sp) \n\ -+ stt $f11, 24*8($sp) \n\ -+ stt $f12, 25*8($sp) \n\ -+ stt $f13, 26*8($sp) \n\ -+ stt $f14, 27*8($sp) \n\ -+ stt $f15, 28*8($sp) \n\ -+ stt $f16, 29*8($sp) \n\ -+ stt $f17, 30*8($sp) \n\ -+ stt $f18, 31*8($sp) \n\ -+ stt $f19, 32*8($sp) \n\ -+ stt $f20, 33*8($sp) \n\ -+ stt $f21, 34*8($sp) \n\ -+ stt $f22, 35*8($sp) \n\ -+ stt $f23, 36*8($sp) \n\ -+ stt $f24, 37*8($sp) \n\ -+ stt $f25, 38*8($sp) \n\ -+ stt $f26, 39*8($sp) \n\ -+ stt $f27, 40*8($sp) \n\ -+ stt $f28, 41*8($sp) \n\ -+ stt $f29, 42*8($sp) \n\ -+ stt $f30, 43*8($sp) \n\ -+ .mask 0x27ff01ff, -44*8 \n\ -+ .fmask 0xfffffc03, -(44-21)*8 \n\ -+ /* Set up our $gp */ \n\ -+ br $gp, .+4 \n\ -+ ldgp $gp, 0($gp) \n\ -+ .prologue 0 \n\ -+ /* Set up the arguments for fixup: */ \n\ -+ /* $16 = link_map out of plt0 */ \n\ -+ /* $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24 */\n\ -+ /* $18 = return address */ \n\ -+ subq $28, $27, $17 \n\ -+ ldq $16, 8($27) \n\ -+ subq $17, 20, $17 \n\ -+ mov $26, $18 \n\ -+ addq $17, $17, $17 \n\ -+ /* Do the fixup */ \n\ -+ bsr $26, " ASM_ALPHA_NG_SYMBOL_PREFIX #fixup_name "..ng\n\ -+ /* Move the destination address into position. */ \n\ -+ mov $0, $27 \n\ -+ /* Restore program registers. */ \n\ -+ ldq $26, 0*8($sp) \n\ -+ ldq $0, 1*8($sp) \n\ -+ ldq $1, 2*8($sp) \n\ -+ ldq $2, 3*8($sp) \n\ -+ ldq $3, 4*8($sp) \n\ -+ ldq $4, 5*8($sp) \n\ -+ ldq $5, 6*8($sp) \n\ -+ ldq $6, 7*8($sp) \n\ -+ ldq $7, 8*8($sp) \n\ -+ ldq $8, 9*8($sp) \n\ -+ ldq $16, 10*8($sp) \n\ -+ ldq $17, 11*8($sp) \n\ -+ ldq $18, 12*8($sp) \n\ -+ ldq $19, 13*8($sp) \n\ -+ ldq $20, 14*8($sp) \n\ -+ ldq $21, 15*8($sp) \n\ -+ ldq $22, 16*8($sp) \n\ -+ ldq $23, 17*8($sp) \n\ -+ ldq $24, 18*8($sp) \n\ -+ ldq $25, 19*8($sp) \n\ -+ ldq $29, 20*8($sp) \n\ -+ ldt $f0, 21*8($sp) \n\ -+ ldt $f1, 22*8($sp) \n\ -+ ldt $f10, 23*8($sp) \n\ -+ ldt $f11, 24*8($sp) \n\ -+ ldt $f12, 25*8($sp) \n\ -+ ldt $f13, 26*8($sp) \n\ -+ ldt $f14, 27*8($sp) \n\ -+ ldt $f15, 28*8($sp) \n\ -+ ldt $f16, 29*8($sp) \n\ -+ ldt $f17, 30*8($sp) \n\ -+ ldt $f18, 31*8($sp) \n\ -+ ldt $f19, 32*8($sp) \n\ -+ ldt $f20, 33*8($sp) \n\ -+ ldt $f21, 34*8($sp) \n\ -+ ldt $f22, 35*8($sp) \n\ -+ ldt $f23, 36*8($sp) \n\ -+ ldt $f24, 37*8($sp) \n\ -+ ldt $f25, 38*8($sp) \n\ -+ ldt $f26, 39*8($sp) \n\ -+ ldt $f27, 40*8($sp) \n\ -+ ldt $f28, 41*8($sp) \n\ -+ ldt $f29, 42*8($sp) \n\ -+ ldt $f30, 43*8($sp) \n\ -+ /* Flush the Icache after having modified the .plt code. */\n\ -+ " #IMB " \n\ -+ /* Clean up and turn control to the destination */ \n\ -+ lda $sp, 44*8($sp) \n\ -+ jmp $31, ($27) \n\ - .end " #tramp_name) - - #ifndef PROF -@@ -292,85 +294,87 @@ - its return value is the user program's entry point. */ - - #define RTLD_START asm ("\ --.text -- .set at -- .globl _start -- .ent _start --_start: -- br $gp, 0f --0: ldgp $gp, 0($gp) -- .prologue 0 -- /* Pass pointer to argument block to _dl_start. */ -- mov $sp, $16 -- bsr $26, "ASM_ALPHA_NG_SYMBOL_PREFIX"_dl_start..ng -- .end _start -- /* FALLTHRU */ -- .globl _dl_start_user -- .ent _dl_start_user --_dl_start_user: -- .frame $30,0,$31,0 -- .prologue 0 -- /* Save the user entry point address in s0. */ -- mov $0, $9 -- /* Store the highest stack address. */ -- stq $30, __libc_stack_end -- /* See if we were run as a command with the executable file -- name as an extra leading argument. */ -- ldl $1, _dl_skip_args -- bne $1, $fixup_stack --$fixup_stack_ret: -- /* The special initializer gets called with the stack just -- as the application's entry point will see it; it can -- switch stacks if it moves these contents over. */ --" RTLD_START_SPECIAL_INIT " -- /* Call _dl_init(_dl_loaded, argc, argv, envp) to run initializers. */ -- ldq $16, _dl_loaded -- ldq $17, 0($sp) -- lda $18, 8($sp) -- s8addq $17, 8, $19 -- addq $19, $18, $19 -- jsr $26, _dl_init -- /* Pass our finalizer function to the user in $0. */ -- lda $0, _dl_fini -- /* Jump to the user's entry point. */ -- mov $9, $27 -- jmp ($9) --$fixup_stack: -- /* Adjust the stack pointer to skip _dl_skip_args words. This -- involves copying everything down, since the stack pointer must -- always be 16-byte aligned. */ -- ldq $2, 0($sp) -- ldq $5, _dl_argv -- subq $31, $1, $6 -- subq $2, $1, $2 -- s8addq $6, $5, $5 -- mov $sp, $4 -- s8addq $1, $sp, $3 -- stq $2, 0($sp) -- stq $5, _dl_argv -- /* Copy down argv. */ --0: ldq $5, 8($3) -- addq $4, 8, $4 -- addq $3, 8, $3 -- stq $5, 0($4) -- bne $5, 0b -- /* Copy down envp. */ --1: ldq $5, 8($3) -- addq $4, 8, $4 -- addq $3, 8, $3 -- stq $5, 0($4) -- bne $5, 1b -- /* Copy down auxiliary table. */ --2: ldq $5, 8($3) -- ldq $6, 16($3) -- addq $4, 16, $4 -- addq $3, 16, $3 -- stq $5, -8($4) -- stq $6, 0($4) -- bne $5, 2b -- br $fixup_stack_ret -- .end _dl_start_user -- .set noat -+.text \n\ -+ .set at \n\ -+ .globl _start \n\ -+ .ent _start \n\ -+_start: \n\ -+ br $gp, 0f \n\ -+0: ldgp $gp, 0($gp) \n\ -+ .prologue 0 \n\ -+ /* Pass pointer to argument block to _dl_start. */ \n\ -+ mov $sp, $16 \n\ -+ bsr $26, "ASM_ALPHA_NG_SYMBOL_PREFIX"_dl_start..ng \n\ -+ .end _start \n\ -+ /* FALLTHRU */ \n\ -+ .globl _dl_start_user \n\ -+ .ent _dl_start_user \n\ -+_dl_start_user: \n\ -+ .frame $30,0,$31,0 \n\ -+ .prologue 0 \n\ -+ /* Save the user entry point address in s0. */ \n\ -+ mov $0, $9 \n\ -+ /* Store the highest stack address. */ \n\ -+ stq $30, __libc_stack_end \n\ -+ /* See if we were run as a command with the executable \n\ -+ file name as an extra leading argument. */ \n\ -+ ldl $1, _dl_skip_args \n\ -+ bne $1, $fixup_stack \n\ -+$fixup_stack_ret: \n\ -+ /* The special initializer gets called with the stack \n\ -+ just as the application's entry point will see it; \n\ -+ it can switch stacks if it moves these contents \n\ -+ over. */ \n\ -+" RTLD_START_SPECIAL_INIT " \n\ -+ /* Call _dl_init(_dl_loaded, argc, argv, envp) to run \n\ -+ initializers. */ \n\ -+ ldq $16, _dl_loaded \n\ -+ ldq $17, 0($sp) \n\ -+ lda $18, 8($sp) \n\ -+ s8addq $17, 8, $19 \n\ -+ addq $19, $18, $19 \n\ -+ jsr $26, _dl_init \n\ -+ /* Pass our finalizer function to the user in $0. */ \n\ -+ lda $0, _dl_fini \n\ -+ /* Jump to the user's entry point. */ \n\ -+ mov $9, $27 \n\ -+ jmp ($9) \n\ -+$fixup_stack: \n\ -+ /* Adjust the stack pointer to skip _dl_skip_args words.\n\ -+ This involves copying everything down, since the \n\ -+ stack pointer must always be 16-byte aligned. */ \n\ -+ ldq $2, 0($sp) \n\ -+ ldq $5, _dl_argv \n\ -+ subq $31, $1, $6 \n\ -+ subq $2, $1, $2 \n\ -+ s8addq $6, $5, $5 \n\ -+ mov $sp, $4 \n\ -+ s8addq $1, $sp, $3 \n\ -+ stq $2, 0($sp) \n\ -+ stq $5, _dl_argv \n\ -+ /* Copy down argv. */ \n\ -+0: ldq $5, 8($3) \n\ -+ addq $4, 8, $4 \n\ -+ addq $3, 8, $3 \n\ -+ stq $5, 0($4) \n\ -+ bne $5, 0b \n\ -+ /* Copy down envp. */ \n\ -+1: ldq $5, 8($3) \n\ -+ addq $4, 8, $4 \n\ -+ addq $3, 8, $3 \n\ -+ stq $5, 0($4) \n\ -+ bne $5, 1b \n\ -+ /* Copy down auxiliary table. */ \n\ -+2: ldq $5, 8($3) \n\ -+ ldq $6, 16($3) \n\ -+ addq $4, 16, $4 \n\ -+ addq $3, 16, $3 \n\ -+ stq $5, -8($4) \n\ -+ stq $6, 0($4) \n\ -+ bne $5, 2b \n\ -+ br $fixup_stack_ret \n\ -+ .end _dl_start_user \n\ -+ .set noat \n\ - .previous"); - - #ifndef RTLD_START_SPECIAL_INIT diff --git a/patches/glibc/2.2.5/dl-machine-arm.patch b/patches/glibc/2.2.5/dl-machine-arm.patch deleted file mode 100644 index 176983b..0000000 --- a/patches/glibc/2.2.5/dl-machine-arm.patch +++ /dev/null @@ -1,389 +0,0 @@ -Fixes error: -In file included from dynamic-link.h:21, - from dl-load.c:32: -../sysdeps/arm/dl-machine.h:124:25: missing terminating " character -... -make[2]: *** [/crosstool-0.22/build/arm-unknown-linux-gnu/gcc-3.3-glibc-2.2.5/build-glibc/elf/dl-load.o] Error 1 - -The first two hunks of -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/arm/dl-machine.h.diff?r1=1.39&r2=1.40&cvsroot=glibc -applied cleanly, but the third hunk didn't, so I just added the \n\'s by hand for that section. - ---- glibc-2.2.5/sysdeps/arm/dl-machine.h.orig Sat Sep 8 14:31:40 2001 -+++ glibc-2.2.5/sysdeps/arm/dl-machine.h Wed Aug 27 10:55:26 2003 -@@ -121,14 +121,15 @@ - and then redirect to the address it returns. */ - // macro for handling PIC situation.... - #ifdef PIC --#define CALL_ROUTINE(x) " ldr sl,0f -- add sl, pc, sl --1: ldr r2, 2f -- mov lr, pc -- add pc, sl, r2 -- b 3f --0: .word _GLOBAL_OFFSET_TABLE_ - 1b - 4 --2: .word " #x "(GOTOFF) -+#define CALL_ROUTINE(x) "\ -+ ldr sl,0f\n\ -+ add sl, pc, sl\n\ -+1: ldr r2, 2f\n\ -+ mov lr, pc\n\ -+ add pc, sl, r2\n\ -+ b 3f\n\ -+0: .word _GLOBAL_OFFSET_TABLE_ - 1b - 4\n\ -+2: .word " #x "(GOTOFF)\n\ - 3: " - #else - #define CALL_ROUTINE(x) " bl " #x -@@ -136,114 +137,114 @@ - - #ifndef PROF - # define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ -- .text -- .globl _dl_runtime_resolve -- .type _dl_runtime_resolve, #function -- .align 2 --_dl_runtime_resolve: -- @ we get called with -- @ stack[0] contains the return address from this call -- @ ip contains &GOT[n+3] (pointer to function) -- @ lr points to &GOT[2] -- -- @ save almost everything; lr is already on the stack -- stmdb sp!,{r0-r3,sl,fp} -- -- @ prepare to call fixup() -- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each -- sub r1, ip, lr -- sub r1, r1, #4 -- add r1, r1, r1 -- -- @ get pointer to linker struct -- ldr r0, [lr, #-4] -- -- @ call fixup routine -- " CALL_ROUTINE(fixup) " -- -- @ save the return -- mov ip, r0 -- -- @ restore the stack -- ldmia sp!,{r0-r3,sl,fp,lr} -- -- @ jump to the newly found address -- mov pc, ip -- -- .size _dl_runtime_resolve, .-_dl_runtime_resolve -- -- .globl _dl_runtime_profile -- .type _dl_runtime_profile, #function -- .align 2 --_dl_runtime_profile: -- @ save almost everything; lr is already on the stack -- stmdb sp!,{r0-r3,sl,fp} -- -- @ prepare to call fixup() -- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each -- sub r1, ip, lr -- sub r1, r1, #4 -- add r1, r1, r1 -- -- @ get pointer to linker struct -- ldr r0, [lr, #-4] -- -- @ call profiling fixup routine -- " CALL_ROUTINE(profile_fixup) " -- -- @ save the return -- mov ip, r0 -- -- @ restore the stack -- ldmia sp!,{r0-r3,sl,fp,lr} -- -- @ jump to the newly found address -- mov pc, ip -- -- .size _dl_runtime_resolve, .-_dl_runtime_resolve -- .previous -+ .text\n\ -+ .globl _dl_runtime_resolve\n\ -+ .type _dl_runtime_resolve, #function\n\ -+ .align 2\n\ -+_dl_runtime_resolve:\n\ -+ @ we get called with\n\ -+ @ stack[0] contains the return address from this call\n\ -+ @ ip contains &GOT[n+3] (pointer to function)\n\ -+ @ lr points to &GOT[2]\n\ -+\n\ -+ @ save almost everything; lr is already on the stack\n\ -+ stmdb sp!,{r0-r3,sl,fp}\n\ -+\n\ -+ @ prepare to call fixup()\n\ -+ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\ -+ sub r1, ip, lr\n\ -+ sub r1, r1, #4\n\ -+ add r1, r1, r1\n\ -+\n\ -+ @ get pointer to linker struct\n\ -+ ldr r0, [lr, #-4]\n\ -+\n\ -+ @ call fixup routine\n\ -+ " CALL_ROUTINE(fixup) "\n\ -+\n\ -+ @ save the return\n\ -+ mov ip, r0\n\ -+\n\ -+ @ restore the stack\n\ -+ ldmia sp!,{r0-r3,sl,fp,lr}\n\ -+\n\ -+ @ jump to the newly found address\n\ -+ mov pc, ip\n\ -+\n\ -+ .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\ -+\n\ -+ .globl _dl_runtime_profile\n\ -+ .type _dl_runtime_profile, #function\n\ -+ .align 2\n\ -+_dl_runtime_profile:\n\ -+ @ save almost everything; lr is already on the stack\n\ -+ stmdb sp!,{r0-r3,sl,fp}\n\ -+\n\ -+ @ prepare to call fixup()\n\ -+ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\ -+ sub r1, ip, lr\n\ -+ sub r1, r1, #4\n\ -+ add r1, r1, r1\n\ -+\n\ -+ @ get pointer to linker struct\n\ -+ ldr r0, [lr, #-4]\n\ -+\n\ -+ @ call profiling fixup routine\n\ -+ " CALL_ROUTINE(profile_fixup) "\n\ -+\n\ -+ @ save the return\n\ -+ mov ip, r0\n\ -+\n\ -+ @ restore the stack\n\ -+ ldmia sp!,{r0-r3,sl,fp,lr}\n\ -+\n\ -+ @ jump to the newly found address\n\ -+ mov pc, ip\n\ -+\n\ -+ .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\ -+ .previous\n\ - "); - #else // PROF - # define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ -- .text -- .globl _dl_runtime_resolve -- .globl _dl_runtime_profile -- .type _dl_runtime_resolve, #function -- .type _dl_runtime_profile, #function -- .align 2 --_dl_runtime_resolve: --_dl_runtime_profile: -- @ we get called with -- @ stack[0] contains the return address from this call -- @ ip contains &GOT[n+3] (pointer to function) -- @ lr points to &GOT[2] -- -- @ save almost everything; return add is already on the stack -- stmdb sp!,{r0-r3,sl,fp} -- -- @ prepare to call fixup() -- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each -- sub r1, ip, lr -- sub r1, r1, #4 -- add r1, r1, r1 -- -- @ get pointer to linker struct -- ldr r0, [lr, #-4] -- -- @ call profiling fixup routine -- " CALL_ROUTINE(fixup) " -- -- @ save the return -- mov ip, r0 -- -- @ restore the stack -- ldmia sp!,{r0-r3,sl,fp,lr} -- -- @ jump to the newly found address -- mov pc, ip -- -- .size _dl_runtime_profile, .-_dl_runtime_profile -- .previous -+ .text\n\ -+ .globl _dl_runtime_resolve\n\ -+ .globl _dl_runtime_profile\n\ -+ .type _dl_runtime_resolve, #function\n\ -+ .type _dl_runtime_profile, #function\n\ -+ .align 2\n\ -+_dl_runtime_resolve:\n\ -+_dl_runtime_profile:\n\ -+ @ we get called with\n\ -+ @ stack[0] contains the return address from this call\n\ -+ @ ip contains &GOT[n+3] (pointer to function)\n\ -+ @ lr points to &GOT[2]\n\ -+\n\ -+ @ save almost everything; return add is already on the stack\n\ -+ stmdb sp!,{r0-r3,sl,fp}\n\ -+\n\ -+ @ prepare to call fixup()\n\ -+ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\ -+ sub r1, ip, lr\n\ -+ sub r1, r1, #4\n\ -+ add r1, r1, r1\n\ -+\n\ -+ @ get pointer to linker struct\n\ -+ ldr r0, [lr, #-4]\n\ -+\n\ -+ @ call profiling fixup routine\n\ -+ " CALL_ROUTINE(fixup) "\n\ -+\n\ -+ @ save the return\n\ -+ mov ip, r0\n\ -+\n\ -+ @ restore the stack\n\ -+ ldmia sp!,{r0-r3,sl,fp,lr}\n\ -+\n\ -+ @ jump to the newly found address\n\ -+ mov pc, ip\n\ -+\n\ -+ .size _dl_runtime_profile, .-_dl_runtime_profile\n\ -+ .previous\n\ - "); - #endif //PROF - -@@ -256,70 +257,70 @@ - its return value is the user program's entry point. */ - - #define RTLD_START asm ("\ --.text --.globl _start --.globl _dl_start_user --_start: -- @ at start time, all the args are on the stack -- mov r0, sp -- bl _dl_start -- @ returns user entry point in r0 --_dl_start_user: -- mov r6, r0 -- @ we are PIC code, so get global offset table -- ldr sl, .L_GET_GOT -- add sl, pc, sl --.L_GOT_GOT: -- @ Store the highest stack address -- ldr r1, .L_STACK_END -- ldr r1, [sl, r1] -- str sp, [r1] -- @ See if we were run as a command with the executable file -- @ name as an extra leading argument. -- ldr r4, .L_SKIP_ARGS -- ldr r4, [sl, r4] -- @ get the original arg count -- ldr r1, [sp] -- @ subtract _dl_skip_args from it -- sub r1, r1, r4 -- @ adjust the stack pointer to skip them -- add sp, sp, r4, lsl #2 -- @ get the argv address -- add r2, sp, #4 -- @ store the new argc in the new stack location -- str r1, [sp] -- @ compute envp -- add r3, r2, r1, lsl #2 -- add r3, r3, #4 -- -- @ now we call _dl_init -- ldr r0, .L_LOADED -- ldr r0, [sl, r0] -- ldr r0, [r0] -- @ call _dl_init -- bl _dl_init(PLT) -- @ clear the startup flag -- ldr r2, .L_STARTUP_FLAG -- ldr r1, [sl, r2] -- mov r0, #0 -- str r0, [r1] -- @ load the finalizer function -- ldr r0, .L_FINI_PROC -- ldr r0, [sl, r0] -- @ jump to the user_s entry point -- mov pc, r6 --.L_GET_GOT: -+.text\n\ -+.globl _start\n\ -+.globl _dl_start_user\n\ -+_start:\n\ -+ @ at start time, all the args are on the stack\n\ -+ mov r0, sp\n\ -+ bl _dl_start\n\ -+ @ returns user entry point in r0\n\ -+_dl_start_user:\n\ -+ mov r6, r0\n\ -+ @ we are PIC code, so get global offset table\n\ -+ ldr sl, .L_GET_GOT\n\ -+ add sl, pc, sl\n\ -+.L_GOT_GOT:\n\ -+ @ Store the highest stack address\n\ -+ ldr r1, .L_STACK_END\n\ -+ ldr r1, [sl, r1]\n\ -+ str sp, [r1]\n\ -+ @ See if we were run as a command with the executable file\n\ -+ @ name as an extra leading argument.\n\ -+ ldr r4, .L_SKIP_ARGS\n\ -+ ldr r4, [sl, r4]\n\ -+ @ get the original arg count\n\ -+ ldr r1, [sp]\n\ -+ @ subtract _dl_skip_args from it\n\ -+ sub r1, r1, r4\n\ -+ @ adjust the stack pointer to skip them\n\ -+ add sp, sp, r4, lsl #2\n\ -+ @ get the argv address\n\ -+ add r2, sp, #4\n\ -+ @ store the new argc in the new stack location\n\ -+ str r1, [sp]\n\ -+ @ compute envp\n\ -+ add r3, r2, r1, lsl #2\n\ -+ add r3, r3, #4\n\ -+\n\ -+ @ now we call _dl_init\n\ -+ ldr r0, .L_LOADED\n\ -+ ldr r0, [sl, r0]\n\ -+ ldr r0, [r0]\n\ -+ @ call _dl_init\n\ -+ bl _dl_init(PLT)\n\ -+ @ clear the startup flag\n\ -+ ldr r2, .L_STARTUP_FLAG\n\ -+ ldr r1, [sl, r2]\n\ -+ mov r0, #0\n\ -+ str r0, [r1]\n\ -+ @ load the finalizer function\n\ -+ ldr r0, .L_FINI_PROC\n\ -+ ldr r0, [sl, r0]\n\ -+ @ jump to the user_s entry point\n\ -+ mov pc, r6\n\ -+.L_GET_GOT:\n\ - .word _GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4 \n\ - .L_SKIP_ARGS: \n\ - .word _dl_skip_args(GOTOFF) \n\ --.L_STARTUP_FLAG: -- .word _dl_starting_up(GOT) --.L_FINI_PROC: -- .word _dl_fini(GOT) --.L_STACK_END: -- .word __libc_stack_end(GOT) --.L_LOADED: -- .word _dl_loaded(GOT) -+.L_STARTUP_FLAG:\n\ -+ .word _dl_starting_up(GOT)\n\ -+.L_FINI_PROC:\n\ -+ .word _dl_fini(GOT)\n\ -+.L_STACK_END:\n\ -+ .word __libc_stack_end(GOT)\n\ -+.L_LOADED:\n\ -+ .word _dl_loaded(GOT)\n\ - .previous\n\ - "); - diff --git a/patches/glibc/2.2.5/dl-machine-m68k.patch b/patches/glibc/2.2.5/dl-machine-m68k.patch deleted file mode 100644 index 2e9ee04..0000000 --- a/patches/glibc/2.2.5/dl-machine-m68k.patch +++ /dev/null @@ -1,206 +0,0 @@ -Retrieved with - wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/m68k/dl-machine.h.diff?r1=1.53&r2=1.55&cvsroot=glibc' - -Fixes error - -In file included from dynamic-link.h:21, - from dl-load.c:32: -../sysdeps/m68k/dl-machine.h:108: error: parse error before '.' token -../sysdeps/m68k/dl-machine.h:109: error: stray '@' in program -../sysdeps/m68k/dl-machine.h:120: error: syntax error at '#' token -../sysdeps/m68k/dl-machine.h:123: error: stray '\' in program -../sysdeps/m68k/dl-machine.h:123: error: missing terminating " character -../sysdeps/m68k/dl-machine.h:148: error: stray '@' in program -../sysdeps/m68k/dl-machine.h:152: error: syntax error at '#' token -../sysdeps/m68k/dl-machine.h:156: error: stray '@' in program -../sysdeps/m68k/dl-machine.h:161: error: stray '@' in program -../sysdeps/m68k/dl-machine.h:163: error: stray '@' in program -../sysdeps/m68k/dl-machine.h:166: error: stray '@' in program -In file included from dynamic-link.h:21, - from dl-load.c:32: -../sysdeps/m68k/dl-machine.h:175:4: invalid preprocessing directive #Call -../sysdeps/m68k/dl-machine.h:179: error: stray '@' in program -../sysdeps/m68k/dl-machine.h:180: error: stray '@' in program -../sysdeps/m68k/dl-machine.h:181: error: syntax error at '#' token -../sysdeps/m68k/dl-machine.h:182: error: syntax error at '#' token -../sysdeps/m68k/dl-machine.h:184: error: stray '@' in program -../sysdeps/m68k/dl-machine.h:187: error: missing terminating ' character -../sysdeps/m68k/dl-machine.h:190: error: missing terminating " character -dl-load.c: In function `_dl_map_object_from_fd': -dl-load.c:1089: warning: use of cast expressions as lvalues is deprecated -dl-load.c:1089: warning: use of cast expressions as lvalues is deprecated -dl-load.c:1109: warning: use of cast expressions as lvalues is deprecated -dl-load.c:1109: warning: use of cast expressions as lvalues is deprecated -make[2]: *** [/home/dank/wk/crosstool-0.28-rc24/build/m68k-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/build-glibc/elf/dl-load.o] Error 1 - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/m68k/dl-machine.h,v -retrieving revision 1.53 -retrieving revision 1.55 -diff -u -r1.53 -r1.55 ---- libc/sysdeps/m68k/dl-machine.h 2001/08/26 22:26:36 1.53 -+++ libc/sysdeps/m68k/dl-machine.h 2002/02/01 10:28:20 1.55 -@@ -1,5 +1,5 @@ - /* Machine-dependent ELF dynamic relocation inline functions. m68k version. -- Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. -+ Copyright (C) 1996-2001, 2002 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 -@@ -85,11 +85,11 @@ - { - got[2] = (Elf32_Addr) &_dl_runtime_profile; - -- if (_dl_name_match_p (_dl_profile, l)) -+ if (_dl_name_match_p (GL(dl_profile), l)) - { - /* This is the object we are looking for. Say that we really - want profiling and the timers are started. */ -- _dl_profile_map = l; -+ GL(dl_profile_map) = l; - } - } - else -@@ -104,22 +104,22 @@ - /* This code is used in dl-runtime.c to call the `fixup' function - and then redirect to the address it returns. */ - #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ --"| Trampoline for " #fixup_name " -- .globl " #tramp_name " -- .type " #tramp_name ", @function --" #tramp_name ": -- | Save %a0 (struct return address) and %a1. -- move.l %a0, -(%sp) -- move.l %a1, -(%sp) -- | Call the real address resolver. -- jbsr " #fixup_name " -- | Restore register %a0 and %a1. -- move.l (%sp)+, %a1 -- move.l (%sp)+, %a0 -- | Pop parameters -- addq.l #8, %sp -- | Call real function. -- jmp (%d0) -+"| Trampoline for " #fixup_name "\n\ -+ .globl " #tramp_name "\n\ -+ .type " #tramp_name ", @function\n\ -+" #tramp_name ":\n\ -+ | Save %a0 (struct return address) and %a1.\n\ -+ move.l %a0, -(%sp)\n\ -+ move.l %a1, -(%sp)\n\ -+ | Call the real address resolver.\n\ -+ jbsr " #fixup_name "\n\ -+ | Restore register %a0 and %a1.\n\ -+ move.l (%sp)+, %a1\n\ -+ move.l (%sp)+, %a0\n\ -+ | Pop parameters\n\ -+ addq.l #8, %sp\n\ -+ | Call real function.\n\ -+ jmp (%d0)\n\ - .size " #tramp_name ", . - " #tramp_name "\n" - #ifndef PROF - #define ELF_MACHINE_RUNTIME_TRAMPOLINE \ -@@ -143,50 +143,50 @@ - its return value is the user program's entry point. */ - - #define RTLD_START asm ("\ -- .text -- .globl _start -- .type _start,@function --_start: -- move.l %sp, -(%sp) -- jbsr _dl_start -- addq.l #4, %sp -- /* FALLTHRU */ -- -- .globl _dl_start_user -- .type _dl_start_user,@function --_dl_start_user: -- | Save the user entry point address in %a4. -- move.l %d0, %a4 -- | Point %a5 at the GOT. -- lea _GLOBAL_OFFSET_TABLE_@GOTPC(%pc), %a5 -- | Remember the highest stack address. -- move.l %sp, ([__libc_stack_end@GOT.w, %a5]) -- | See if we were run as a command with the executable file -- | name as an extra leading argument. -- move.l ([_dl_skip_args@GOT.w, %a5]), %d0 -- | Pop the original argument count -- move.l (%sp)+, %d1 -- | Subtract _dl_skip_args from it. -- sub.l %d0, %d1 -- | Adjust the stack pointer to skip _dl_skip_args words. -- lea (%sp, %d0*4), %sp -- | Push back the modified argument count. -- move.l %d1, -(%sp) -- # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env) -- pea 8(%sp, %d1*4) -- pea 8(%sp) -- move.l %d1, -(%sp) -- move.l ([_dl_loaded@GOT.w, %a5]), -(%sp) -- jbsr _dl_init@PLTPC -- addq.l #8, %sp -- addq.l #8, %sp -- | Pass our finalizer function to the user in %a1. -- move.l _dl_fini@GOT.w(%a5), %a1 -- | Initialize %fp with the stack pointer. -- move.l %sp, %fp -- | Jump to the user's entry point. -- jmp (%a4) -- .size _dl_start_user, . - _dl_start_user -+ .text\n\ -+ .globl _start\n\ -+ .type _start,@function\n\ -+_start:\n\ -+ move.l %sp, -(%sp)\n\ -+ jbsr _dl_start\n\ -+ addq.l #4, %sp\n\ -+ /* FALLTHRU */\n\ -+\n\ -+ .globl _dl_start_user\n\ -+ .type _dl_start_user,@function\n\ -+_dl_start_user:\n\ -+ | Save the user entry point address in %a4.\n\ -+ move.l %d0, %a4\n\ -+ | Point %a5 at the GOT.\n\ -+ lea _GLOBAL_OFFSET_TABLE_@GOTPC(%pc), %a5\n\ -+ | Remember the highest stack address.\n\ -+ move.l %sp, ([__libc_stack_end@GOT.w, %a5])\n\ -+ | See if we were run as a command with the executable file\n\ -+ | name as an extra leading argument.\n\ -+ move.l ([_dl_skip_args@GOT.w, %a5]), %d0\n\ -+ | Pop the original argument count\n\ -+ move.l (%sp)+, %d1\n\ -+ | Subtract _dl_skip_args from it.\n\ -+ sub.l %d0, %d1\n\ -+ | Adjust the stack pointer to skip _dl_skip_args words.\n\ -+ lea (%sp, %d0*4), %sp\n\ -+ | Push back the modified argument count.\n\ -+ move.l %d1, -(%sp)\n\ -+ # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\ -+ pea 8(%sp, %d1*4)\n\ -+ pea 8(%sp)\n\ -+ move.l %d1, -(%sp)\n\ -+ move.l ([_rtld_global@GOT.w, %a5]), -(%sp)\n\ -+ jbsr _dl_init@PLTPC\n\ -+ addq.l #8, %sp\n\ -+ addq.l #8, %sp\n\ -+ | Pass our finalizer function to the user in %a1.\n\ -+ move.l _dl_fini@GOT.w(%a5), %a1\n\ -+ | Initialize %fp with the stack pointer.\n\ -+ move.l %sp, %fp\n\ -+ | Jump to the user's entry point.\n\ -+ jmp (%a4)\n\ -+ .size _dl_start_user, . - _dl_start_user\n\ - .previous"); - - /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so -@@ -251,7 +251,7 @@ - found. */ - break; - if (sym->st_size > refsym->st_size -- || (sym->st_size < refsym->st_size && _dl_verbose)) -+ || (sym->st_size < refsym->st_size && GL(dl_verbose))) - { - extern char **_dl_argv; - const char *strtab; diff --git a/patches/glibc/2.2.5/dl-machine-sh.patch b/patches/glibc/2.2.5/dl-machine-sh.patch deleted file mode 100644 index ac046e4..0000000 --- a/patches/glibc/2.2.5/dl-machine-sh.patch +++ /dev/null @@ -1,41 +0,0 @@ -Retrieved with -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/sh/dl-machine.h.diff?r1=1.21&r2=1.22&cvsroot=glibc' - -Fixes error -/tmp/ccFobT8r.s: Assembler messages: -/tmp/ccFobT8r.s:1819: Error: symbol `.L3' is already defined -make[2]: *** [/home/dank/wk/crosstool-0.28-rc24/build/sh4-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/build-glibc/elf/rtld.os] Error 1 -make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc24/build/sh4-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/glibc-2.2.5/elf' - -See also http://sources.redhat.com/ml/libc-alpha/2002-07/msg00001.html - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/sh/dl-machine.h,v -retrieving revision 1.21 -retrieving revision 1.22 -diff -u -r1.21 -r1.22 ---- libc/sysdeps/sh/dl-machine.h 2002/04/08 20:59:36 1.21 -+++ libc/sysdeps/sh/dl-machine.h 2002/06/28 17:26:01 1.22 -@@ -53,16 +53,16 @@ - elf_machine_load_address (void) - { - Elf32_Addr addr; -- asm ("mov.l .L1,r0\n\ -- mov.l .L3,r2\n\ -+ asm ("mov.l 1f,r0\n\ -+ mov.l 3f,r2\n\ - add r12,r2\n\ - mov.l @(r0,r12),r0\n\ -- bra .L2\n\ -+ bra 2f\n\ - sub r0,r2\n\ - .align 2\n\ -- .L1: .long _dl_start@GOT\n\ -- .L3: .long _dl_start@GOTOFF\n\ -- .L2: mov r2,%0" -+ 1: .long _dl_start@GOT\n\ -+ 3: .long _dl_start@GOTOFF\n\ -+ 2: mov r2,%0" - : "=r" (addr) : : "r0", "r1", "r2"); - return addr; - } diff --git a/patches/glibc/2.2.5/dl-machine-sparc.patch b/patches/glibc/2.2.5/dl-machine-sparc.patch deleted file mode 100644 index ccdb6d3..0000000 --- a/patches/glibc/2.2.5/dl-machine-sparc.patch +++ /dev/null @@ -1,230 +0,0 @@ ---- glibc-2.2.5/sysdeps/sparc/sparc32/dl-machine.h.old Sat Jun 7 18:19:03 2003 -+++ glibc-2.2.5/sysdeps/sparc/sparc32/dl-machine.h Sat Jun 7 18:20:04 2003 -@@ -148,23 +148,23 @@ - and then redirect to the address it returns. */ - #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ - asm ( "\ -- .text -- .globl " #tramp_name " -- .type " #tramp_name ", @function -- .align 32 --" #tramp_name ": -- /* Set up the arguments to fixup -- -- %o0 = link_map out of plt0 -- %o1 = offset of reloc entry -- %o2 = return address */ -- ld [%o7 + 8], %o0 -- srl %g1, 10, %o1 -- mov %i7, %o2 -- call " #fixup_name " -- sub %o1, 4*12, %o1 -- jmp %o0 -- restore -- .size " #tramp_name ", . - " #tramp_name " -+ .text\n\ -+ .globl " #tramp_name "\n\ -+ .type " #tramp_name ", @function\n\ -+ .align 32\n\ -+" #tramp_name ":\n\ -+ /* Set up the arguments to fixup --\n\ -+ %o0 = link_map out of plt0\n\ -+ %o1 = offset of reloc entry\n\ -+ %o2 = return address */\n\ -+ ld [%o7 + 8], %o0\n\ -+ srl %g1, 10, %o1\n\ -+ mov %i7, %o2\n\ -+ call " #fixup_name "\n\ -+ sub %o1, 4*12, %o1\n\ -+ jmp %o0\n\ -+ restore\n\ -+ .size " #tramp_name ", . - " #tramp_name "\n\ - .previous") - - #ifndef PROF -@@ -199,96 +199,96 @@ - its return value is the user program's entry point. */ - - #define RTLD_START __asm__ ("\ -- .text -- .globl _start -- .type _start, @function -- .align 32 --_start: -- /* Allocate space for functions to drop their arguments. */ -- sub %sp, 6*4, %sp -- /* Pass pointer to argument block to _dl_start. */ -- call _dl_start -- add %sp, 22*4, %o0 -- /* FALTHRU */ -- .globl _dl_start_user -- .type _dl_start_user, @function --_dl_start_user: -- /* Load the PIC register. */ --1: call 2f -- sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7 --2: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7 -- add %l7, %o7, %l7 -- /* Save the user entry point address in %l0 */ -- mov %o0, %l0 -- /* Store the highest stack address. */ -- sethi %hi(__libc_stack_end), %g2 -- or %g2, %lo(__libc_stack_end), %g2 -- ld [%l7 + %g2], %l1 -- sethi %hi(_dl_skip_args), %g2 -- add %sp, 6*4, %l2 -- or %g2, %lo(_dl_skip_args), %g2 -- st %l2, [%l1] -- /* See if we were run as a command with the executable file name as an -- extra leading argument. If so, adjust the contents of the stack. */ -- ld [%l7+%g2], %i0 -- ld [%i0], %i0 -- tst %i0 -- beq 3f -- ld [%sp+22*4], %i5 /* load argc */ -- /* Find out how far to shift. */ -- sethi %hi(_dl_argv), %l3 -- or %l3, %lo(_dl_argv), %l3 -- ld [%l7+%l3], %l3 -- sub %i5, %i0, %i5 -- ld [%l3], %l4 -- sll %i0, 2, %i2 -- st %i5, [%sp+22*4] -- sub %l4, %i2, %l4 -- add %sp, 23*4, %i1 -- add %i1, %i2, %i2 -- st %l4, [%l3] -- /* Copy down argv */ --21: ld [%i2], %i3 -- add %i2, 4, %i2 -- tst %i3 -- st %i3, [%i1] -- bne 21b -- add %i1, 4, %i1 -- /* Copy down env */ --22: ld [%i2], %i3 -- add %i2, 4, %i2 -- tst %i3 -- st %i3, [%i1] -- bne 22b -- add %i1, 4, %i1 -- /* Copy down auxiliary table. */ --23: ld [%i2], %i3 -- ld [%i2+4], %i4 -- add %i2, 8, %i2 -- tst %i3 -- st %i3, [%i1] -- st %i4, [%i1+4] -- bne 23b -- add %i1, 8, %i1 -- /* %o0 = _dl_loaded, %o1 = argc, %o2 = argv, %o3 = envp. */ --3: sethi %hi(_dl_loaded), %o0 -- add %sp, 23*4, %o2 -- orcc %o0, %lo(_dl_loaded), %o0 -- sll %i5, 2, %o3 -- ld [%l7+%o0], %o0 -- add %o3, 4, %o3 -- mov %i5, %o1 -- add %o2, %o3, %o3 -- call _dl_init -- ld [%o0], %o0 -- /* Pass our finalizer function to the user in %g1. */ -- sethi %hi(_dl_fini), %g1 -- or %g1, %lo(_dl_fini), %g1 -- ld [%l7+%g1], %g1 -- /* Jump to the user's entry point and deallocate the extra stack we got. */ -- jmp %l0 -- add %sp, 6*4, %sp -- .size _dl_start_user, . - _dl_start_user -+ .text\n\ -+ .globl _start\n\ -+ .type _start, @function\n\ -+ .align 32\n\ -+_start:\n\ -+ /* Allocate space for functions to drop their arguments. */\n\ -+ sub %sp, 6*4, %sp\n\ -+ /* Pass pointer to argument block to _dl_start. */\n\ -+ call _dl_start\n\ -+ add %sp, 22*4, %o0\n\ -+ /* FALTHRU */\n\ -+ .globl _dl_start_user\n\ -+ .type _dl_start_user, @function\n\ -+_dl_start_user:\n\ -+ /* Load the PIC register. */\n\ -+1: call 2f\n\ -+ sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7\n\ -+2: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7\n\ -+ add %l7, %o7, %l7\n\ -+ /* Save the user entry point address in %l0 */\n\ -+ mov %o0, %l0\n\ -+ /* Store the highest stack address. */\n\ -+ sethi %hi(__libc_stack_end), %g2\n\ -+ or %g2, %lo(__libc_stack_end), %g2\n\ -+ ld [%l7 + %g2], %l1\n\ -+ sethi %hi(_dl_skip_args), %g2\n\ -+ add %sp, 6*4, %l2\n\ -+ or %g2, %lo(_dl_skip_args), %g2\n\ -+ st %l2, [%l1]\n\ -+ /* See if we were run as a command with the executable file name as an\n\ -+ extra leading argument. If so, adjust the contents of the stack. */\n\ -+ ld [%l7+%g2], %i0\n\ -+ ld [%i0], %i0\n\ -+ tst %i0\n\ -+ beq 3f\n\ -+ ld [%sp+22*4], %i5 /* load argc */\n\ -+ /* Find out how far to shift. */\n\ -+ sethi %hi(_dl_argv), %l3\n\ -+ or %l3, %lo(_dl_argv), %l3\n\ -+ ld [%l7+%l3], %l3\n\ -+ sub %i5, %i0, %i5\n\ -+ ld [%l3], %l4\n\ -+ sll %i0, 2, %i2\n\ -+ st %i5, [%sp+22*4]\n\ -+ sub %l4, %i2, %l4\n\ -+ add %sp, 23*4, %i1\n\ -+ add %i1, %i2, %i2\n\ -+ st %l4, [%l3]\n\ -+ /* Copy down argv */\n\ -+21: ld [%i2], %i3\n\ -+ add %i2, 4, %i2\n\ -+ tst %i3\n\ -+ st %i3, [%i1]\n\ -+ bne 21b\n\ -+ add %i1, 4, %i1\n\ -+ /* Copy down env */\n\ -+22: ld [%i2], %i3\n\ -+ add %i2, 4, %i2\n\ -+ tst %i3\n\ -+ st %i3, [%i1]\n\ -+ bne 22b\n\ -+ add %i1, 4, %i1\n\ -+ /* Copy down auxiliary table. */\n\ -+23: ld [%i2], %i3\n\ -+ ld [%i2+4], %i4\n\ -+ add %i2, 8, %i2\n\ -+ tst %i3\n\ -+ st %i3, [%i1]\n\ -+ st %i4, [%i1+4]\n\ -+ bne 23b\n\ -+ add %i1, 8, %i1\n\ -+ /* %o0 = _dl_loaded, %o1 = argc, %o2 = argv, %o3 = envp. */\n\ -+3: sethi %hi(_dl_loaded), %o0\n\ -+ add %sp, 23*4, %o2\n\ -+ orcc %o0, %lo(_dl_loaded), %o0\n\ -+ sll %i5, 2, %o3\n\ -+ ld [%l7+%o0], %o0\n\ -+ add %o3, 4, %o3\n\ -+ mov %i5, %o1\n\ -+ add %o2, %o3, %o3\n\ -+ call _dl_init\n\ -+ ld [%o0], %o0\n\ -+ /* Pass our finalizer function to the user in %g1. */\n\ -+ sethi %hi(_dl_fini), %g1\n\ -+ or %g1, %lo(_dl_fini), %g1\n\ -+ ld [%l7+%g1], %g1\n\ -+ /* Jump to the user's entry point and deallocate the extra stack we got. */\n\ -+ jmp %l0\n\ -+ add %sp, 6*4, %sp\n\ -+ .size _dl_start_user, . - _dl_start_user\n\ - .previous"); - - static inline Elf32_Addr diff --git a/patches/glibc/2.2.5/errlist-1.9.patch b/patches/glibc/2.2.5/errlist-1.9.patch deleted file mode 100644 index 3bd7fc6..0000000 --- a/patches/glibc/2.2.5/errlist-1.9.patch +++ /dev/null @@ -1,25 +0,0 @@ -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/Attic/errlist.c,v -retrieving revision 1.8 -retrieving revision 1.9 -diff -u -r1.8 -r1.9 ---- libc/sysdeps/unix/sysv/linux/errlist.c 2001/07/06 04:56:12 1.8 -+++ libc/sysdeps/unix/sysv/linux/errlist.c 2002/05/20 06:56:53 1.9 -@@ -1,4 +1,4 @@ --/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. -+/* Copyright (C) 1998, 2000, 2002 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 -@@ -38,10 +38,9 @@ - const int __old_sys_nerr = OLD_ERRLIST_SIZE; - - strong_alias (__old_sys_nerr, _old_sys_nerr); --weak_alias (__old_sys_nerr, _old_sys_nerr) - compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0); - compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0); --weak_alias (__old_sys_errlist, _old_sys_errlist); -+strong_alias (__old_sys_errlist, _old_sys_errlist); - compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0); - compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0); - #endif diff --git a/patches/glibc/2.2.5/errlist-arm.patch b/patches/glibc/2.2.5/errlist-arm.patch deleted file mode 100644 index ac4eb5b..0000000 --- a/patches/glibc/2.2.5/errlist-arm.patch +++ /dev/null @@ -1,48 +0,0 @@ -Subject: patch for arm -From: Philip Blundell <Philip dot Blundell at pobox dot com> -To: libc-hacker at sources dot redhat dot com -Content-Type: text/plain -Content-Transfer-Encoding: 7bit -Date: 22 Jul 2002 20:12:06 +0100 -Message-Id: <1027365126.725.10.camel@kc> -Mime-Version: 1.0 - -The mainline seems to need this patch in order to compile. - -p. - -2002-07-22 Philip Blundell <philb@gnu.org> - - * sysdeps/unix/sysv/linux/arm/errlist.c: Remove extra weak alias - definiton of _old_sys_nerr. Define _old_sys_errlist as strong - alias. - -Index: sysdeps/unix/sysv/linux/arm/errlist.c -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/arm/errlist.c,v -retrieving revision 1.4 -diff -u -p -r1.4 errlist.c ---- glibc/sysdeps/unix/sysv/linux/arm/errlist.c 6 Jul 2001 04:56:13 -0000 1.4 -+++ glibc/sysdeps/unix/sysv/linux/arm/errlist.c 22 Jul 2002 19:10:57 -0000 -@@ -1,4 +1,4 @@ --/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. -+/* Copyright (C) 1998, 2000, 2002 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 -@@ -38,10 +38,9 @@ extern const char *const *__old_sys_errl - const int __old_sys_nerr = OLD_ERRLIST_SIZE; - - strong_alias (__old_sys_nerr, _old_sys_nerr); --weak_alias (__old_sys_nerr, _old_sys_nerr) - compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0); - compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0); --weak_alias (__old_sys_errlist, _old_sys_errlist); -+strong_alias (__old_sys_errlist, _old_sys_errlist); - compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0); - compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0); - #endif - - - - diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch deleted file mode 100644 index 2ee7174..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch +++ /dev/null @@ -1,68 +0,0 @@ -Fixes -dl-runtime.c:56: error: conflicting types for 'fixup' -../sysdeps/i386/dl-machine.h:158: error: previous declaration of 'fixup' was here -when building with gcc-3.4.0 - -First hunk: -Define ARCH_FIXUP_ATTRIBUTE and use it in the fixup function declarations. -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/i386/dl-machine.h.diff?r1=1.124&r2=1.125&cvsroot=glibc -[rediffed against glibc-2.2.5] - -Second hunk: -If ARCH_FIXUP_ATTRIBUTE is not defined, provide dummy definition. -Use macro in fixup function definitions. -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-runtime.c.diff?r1=1.64&r2=1.65&cvsroot=glibc -[rediffed against glibc-2.3.2] - -=================================================================== ---- glibc-2.2.5/sysdeps/i386/dl-machine.h.old Sun Apr 11 11:53:23 2004 -+++ glibc-2.2.5/sysdeps/i386/dl-machine.h Sun Apr 11 11:55:38 2004 -@@ -63,11 +63,12 @@ - destroys the passed register information. */ - /* GKM FIXME: Fix trampoline to pass bounds so we can do - without the `__unbounded' qualifier. */ -+#define ARCH_FIXUP_ATTRIBUTE __attribute__ ((regparm (3), unused)) - static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset) -- __attribute__ ((regparm (2), unused)); -+ ARCH_FIXUP_ATTRIBUTE; - static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset, - ElfW(Addr) retaddr) -- __attribute__ ((regparm (3), unused)); -+ ARCH_FIXUP_ATTRIBUTE; - #endif - - /* Set up the loaded object described by L so its unrelocated PLT -=================================================================== ---- /home/dank/downloads/glibc-2.3.2/elf/dl-runtime.c Fri Feb 7 11:41:12 2003 -+++ glibc-2.3.2/elf/dl-runtime.c Thu Apr 8 22:24:26 2004 -@@ -36,6 +36,12 @@ - # define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) - #endif - -+/* The fixup functions might have need special attributes. If none -+ are provided define the macro as empty. */ -+#ifndef ARCH_FIXUP_ATTRIBUTE -+# define ARCH_FIXUP_ATTRIBUTE -+#endif -+ - - /* This function is called through a special trampoline from the PLT the - first time each PLT entry is called. We must perform the relocation -@@ -45,7 +51,7 @@ - function. */ - - #ifndef ELF_MACHINE_NO_PLT --static ElfW(Addr) __attribute_used__ -+static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE - fixup ( - # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS - ELF_MACHINE_RUNTIME_FIXUP_ARGS, -@@ -132,7 +138,7 @@ - - #if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__ - --static ElfW(Addr) __attribute_used__ -+static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE - profile_fixup ( - #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS - ELF_MACHINE_RUNTIME_FIXUP_ARGS, diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-grp.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-grp.patch deleted file mode 100644 index 5d609f9..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-grp.patch +++ /dev/null @@ -1,63 +0,0 @@ -Fixes -initgroups.c: In function `internal_getgrouplist': -initgroups.c:179: error: parse error before "__FUNCTION__" - -CVSROOT: /cvs/glibc -Module name: libc -Changes by: roland@sources.redhat.com 2001-12-16 21:52:12 - -Modified files: - nss : nsswitch.c - grp : initgroups.c - -Log message: - 2001-12-16 Roland McGrath <roland@frob.com> - - * nss/nsswitch.c (__nss_next): Don't use __FUNCTION__ as literal. - * grp/initgroups.c (internal_getgrouplist): Likewise. - -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/grp/initgroups.c.diff?r1=1.26&r2=1.27&cvsroot=glibc -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/nss/nsswitch.c.diff?r1=1.52&r2=1.53&cvsroot=glibc - -=================================================================== -RCS file: /cvs/glibc/libc/grp/initgroups.c,v -retrieving revision 1.26 -retrieving revision 1.27 -diff -u -r1.26 -r1.27 ---- libc/grp/initgroups.c 2001/07/06 04:54:46 1.26 -+++ libc/grp/initgroups.c 2001/12/17 05:52:11 1.27 -@@ -176,7 +176,7 @@ - - /* This is really only for debugging. */ - if (NSS_STATUS_TRYAGAIN > status || status > NSS_STATUS_RETURN) -- __libc_fatal ("illegal status in " __FUNCTION__); -+ __libc_fatal ("illegal status in internal_getgrouplist"); - - if (status != NSS_STATUS_SUCCESS - && nss_next_action (nip, status) == NSS_ACTION_RETURN) -@@ -214,7 +214,7 @@ - } - else - *ngroups = result; -- -+ - memcpy (groups, newgroups, *ngroups * sizeof (gid_t)); - - free (newgroups); - -=================================================================== -RCS file: /cvs/glibc/libc/nss/nsswitch.c,v -retrieving revision 1.52 -retrieving revision 1.53 -diff -u -r1.52 -r1.53 ---- libc/nss/nsswitch.c 2001/07/17 08:21:36 1.52 -+++ libc/nss/nsswitch.c 2001/12/17 05:52:11 1.53 -@@ -178,7 +178,7 @@ - { - /* This is really only for debugging. */ - if (NSS_STATUS_TRYAGAIN > status || status > NSS_STATUS_RETURN) -- __libc_fatal ("illegal status in " __FUNCTION__); -+ __libc_fatal ("illegal status in __nss_next"); - - if (nss_next_action (*ni, status) == NSS_ACTION_RETURN) - return 1; diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-weakextern.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-weakextern.patch deleted file mode 100644 index 31b7b67..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-weakextern.patch +++ /dev/null @@ -1,48 +0,0 @@ -Suggested by Jake Page <jake at cs dot stanford dot edu> -in http://sources.redhat.com/ml/crossgcc/2004-07/msg00169.html -but the libc-symbols.h fragment has been reworked to fix typos -and to still work on gcc-2.95.3, which lacks _Pragma. - -His comment was: - Fixes gcc-3.4 optimizing out comparisons to weak external symbols in code - like: - if (__pthread_mutex_init != NULL) - __pthread_mutex_init(...); - that causes segfaults during libc init when not linked to libpthread - -diff -uNr glibc-2.2.5-orig/resolv/res_libc.c glibc-2.2.5/resolv/res_libc.c ---- glibc-2.2.5-orig/resolv/res_libc.c 2001-02-12 12:23:34.000000000 -0800 -+++ glibc-2.2.5/resolv/res_libc.c 2004-07-27 22:56:32.000000000 -0700 -@@ -84,7 +84,8 @@ - - #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2) - # undef res_init --strong_alias (__res_init, __res_init_weak); -+extern int __res_init_weak (void); - weak_extern (__res_init_weak); -+strong_alias (__res_init, __res_init_weak); - compat_symbol (libc, __res_init_weak, res_init, GLIBC_2_0); - #endif ---- glibc-2.2.5/include/libc-symbols.h.old Fri Aug 13 04:20:55 2004 -+++ glibc-2.2.5/include/libc-symbols.h Fri Aug 13 04:37:06 2004 -@@ -108,10 +108,16 @@ - - /* Declare SYMBOL as weak undefined symbol (resolved to 0 if not defined). */ - # define weak_extern(symbol) _weak_extern (symbol) --# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE --# define _weak_extern(symbol) asm (".weakext " __SYMBOL_PREFIX #symbol); --# else --# define _weak_extern(symbol) asm (".weak " __SYMBOL_PREFIX #symbol); -+# if __GNUC__ >= 3 -+ /* see http://sources.redhat.com/ml/libc-alpha/2003-01/msg00043.html */ -+# define __weak_extern_1(expr) _Pragma(#expr) -+# define _weak_extern(symbol) __weak_extern_1(weak symbol) -+# else /* __GNUC__ == 2 */ -+# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE -+# define _weak_extern(symbol) asm (".weakext " __SYMBOL_PREFIX #symbol); -+# else -+# define _weak_extern(symbol) asm (".weak " __SYMBOL_PREFIX #symbol); -+# endif - # endif - - # else diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-configure.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-configure.patch deleted file mode 100644 index effd636..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-configure.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fixes -checking version of powerpc-405-linux-gnu-gcc ... 4.0.0, bad -checking for gnumake... no -checking for gmake... no -checking for make... make -checking version of make... 3.80, ok -configure: error: -*** These critical programs are missing or too old:gcc - - ---- glibc-2.2.5/configure.old 2005-03-10 00:23:46.374213600 -0800 -+++ glibc-2.2.5/configure 2005-03-10 00:25:13.313996744 -0800 -@@ -1476,7 +1476,7 @@ - ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- *gcc-2.9[5-9].*|*2.8.[1-9]*|*2.9|*2.9.[0-9]*|2.9[5-9]*|3.[0-9]*|cygnus-2.9[1-9]*|gcc-2.9[5-9]|gcc-2.1[0-9][0-9]|sgicc-*) -+ *gcc-2.9[5-9].*|*2.8.[1-9]*|*2.9|*2.9.[0-9]*|2.9[5-9]*|3.[0-9]*|4.0*|cygnus-2.9[1-9]*|gcc-2.9[5-9]|gcc-2.1[0-9][0-9]|sgicc-*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf-2.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf-2.patch deleted file mode 100644 index 0428c87..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf-2.patch +++ /dev/null @@ -1,43 +0,0 @@ -Fixes -dynamic-link.h:38: error: invalid storage class for function 'elf_get_dynamic_info' -kinda like http://sourceware.org/cgi-bin/cvsweb.cgi/libc/elf/dynamic-link.h.diff?r1=1.50&r2=1.51&cvsroot=glibc does -and fixes -In file included from dynamic-link.h:218, - from dl-reloc.c:153: -do-rel.h:46: error: invalid storage class for function 'elf_dynamic_do_rel' - ---- /home/dank/downloads/glibc-2.2.5/elf/dynamic-link.h 2001-07-05 21:54:46.000000000 -0700 -+++ glibc-2.2.5/elf/dynamic-link.h 2005-03-11 14:18:34.542858064 -0800 -@@ -33,7 +33,16 @@ - - /* Read the dynamic section at DYN and fill in INFO with indices DT_*. */ - -+#if __GNUC__ >= 4 -+#ifndef RESOLVE_MAP -+static -+#else -+auto -+#endif -+inline void __attribute__ ((unused, always_inline)) -+#else - static inline void __attribute__ ((unused)) -+#endif - elf_get_dynamic_info (struct link_map *l) - { - ElfW(Dyn) *dyn = l->l_ld; - ---- /home/dank/downloads/glibc-2.2.5/elf/do-rel.h 2001-08-24 11:45:23.000000000 -0700 -+++ glibc-2.2.5/elf/do-rel.h 2005-03-11 14:26:43.538519424 -0800 -@@ -39,7 +39,12 @@ - relocations; they should be set up to call _dl_runtime_resolve, rather - than fully resolved now. */ - -+#if __GNUC__ >= 4 -+auto inline void -+__attribute ((always_inline)) -+#else - static inline void -+#endif - elf_dynamic_do_rel (struct link_map *map, - ElfW(Addr) reladdr, ElfW(Addr) relsize, - int lazy) diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf.patch deleted file mode 100644 index 2a8c3a9..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf.patch +++ /dev/null @@ -1,39 +0,0 @@ -Fixes - -dl-load.c: In function '_dl_map_object_from_fd': -dl-load.c:1089: error: invalid lvalue in assignment -dl-load.c:1109: error: invalid lvalue in assignment -make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/elf/dl-load.o] Error 1 - -http://sourceware.org/cgi-bin/cvsweb.cgi/libc/elf/dl-load.c.diff?r1=1.235&r2=1.236&cvsroot=glibc -rediffed against glibc-2.2.5 - -Revision 1.236, Sat Feb 21 18:25:41 2004 UTC by aj -Branch: MAIN -Changes since 1.235: +2 -2 lines -Diff to previous 1.235 (colored) - -(_dl_map_object_from_fd): Fix casts used as lvalue. - - -diff -ur glibc-2.2.5/elf/dl-load.c glibc-2.2.5-patched/elf/dl-load.c ---- glibc-2.2.5/elf/dl-load.c 2001-11-10 14:43:10.000000000 -0800 -+++ glibc-2.2.5-patched/elf/dl-load.c 2005-03-11 13:48:18.211982328 -0800 -@@ -1086,7 +1086,7 @@ - } - else - /* Adjust the PT_PHDR value by the runtime load address. */ -- (ElfW(Addr)) l->l_phdr += l->l_addr; -+ l->l_phdr = (ElfW(Phdr) *) ((ElfW(Addr)) l->l_phdr + l->l_addr); - } - - /* We are done mapping in the file. We no longer need the descriptor. */ -@@ -1106,7 +1106,7 @@ - } - } - else -- (ElfW(Addr)) l->l_ld += l->l_addr; -+ l->l_ld = (ElfW(Dyn) *) ((ElfW(Addr)) l->l_ld + l->l_addr); - - l->l_entry += l->l_addr; - diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-gconv.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-gconv.patch deleted file mode 100644 index 54c349e..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-gconv.patch +++ /dev/null @@ -1,226 +0,0 @@ -Fixes -gconv_open.c: In function `__gconv_open': -gconv_open.c:186: error: invalid lvalue in assignment -when building glibc-2.2.5 with gcc-4.0. -Same as ../glibc-2.3.2/glibc-2.3.2-allow-gcc-3.5-gconv.patch -but rediffed against glibc-2.2.5. - -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/iconv/gconv_simple.c.diff?r1=1.59&r2=1.63&cvsroot=glibc' - * (internal_ucs4_loop): Fix typo in last change. - - * (internal_ucs4le_loop): Remove cast used as lvalue. - - * Fix last commit. - - * iconv/gconv_simple.c (ucs4le_internal_loop): Remove cast used as lvalue. - (internal_ucs4le_loop_single): Likewise. - (ucs4_internal_loop): Likewise. - (BODY): Likewise. - (internal_ucs4_loop_single): Likewise. - -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/iconv/gconv_open.c.diff?r1=1.32&r2=1.33&cvsroot=glibc' - * iconv/gconv_simple.c (ucs4le_internal_loop): Remove cast used as lvalue. - (internal_ucs4le_loop_single): Likewise. - (ucs4_internal_loop): Likewise. - (BODY): Likewise. - (internal_ucs4_loop_single): Likewise. - - -=================================================================== -RCS file: /cvs/glibc/libc/iconv/gconv_open.c,v -retrieving revision 1.32 -retrieving revision 1.33 -diff -u -r1.32 -r1.33 ---- libc/iconv/gconv_open.c 2001/11/29 04:51:58 1.32 -+++ libc/iconv/gconv_open.c 2004/02/07 15:56:32 1.33 -@@ -1,5 +1,5 @@ - /* Find matching transformation algorithms and initialize steps. -- Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. - -@@ -182,8 +182,13 @@ - || __builtin_expect (__gconv_translit_find (runp), 0) == 0) - lastp = runp; - else -- /* This means we haven't found the module. Remove it. */ -- (lastp == NULL ? trans : lastp->next) = runp->next; -+ { -+ /* This means we haven't found the module. Remove it. */ -+ if (lastp == NULL) -+ trans = runp->next; -+ else -+ lastp->next = runp->next; -+ } - } - - /* Allocate room for handle. */ -=================================================================== ---- glibc-2.2.5/iconv/gconv_simple.c.old 2001-08-03 15:06:46.000000000 -0700 -+++ glibc-2.2.5/iconv/gconv_simple.c 2005-03-10 00:49:45.558181608 -0800 -@@ -1,5 +1,5 @@ - /* Simple transformations functions. -- Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. - -@@ -73,12 +73,13 @@ - #if __BYTE_ORDER == __LITTLE_ENDIAN - /* Sigh, we have to do some real work. */ - size_t cnt; -+ uint32_t *outptr32 = (uint32_t *) outptr; - - for (cnt = 0; cnt < n_convert; ++cnt, inptr += 4) -- *((uint32_t *) outptr)++ = bswap_32 (*(const uint32_t *) inptr); -+ *outptr32++ = bswap_32 (*(const uint32_t *) inptr); - - *inptrp = inptr; -- *outptrp = outptr; -+ *outptrp = (unsigned char *) outptr32; - #elif __BYTE_ORDER == __BIG_ENDIAN - /* Simply copy the data. */ - *inptrp = inptr + n_convert * 4; -@@ -176,13 +177,16 @@ - (*outptrp)[2] = state->__value.__wchb[1]; - (*outptrp)[3] = state->__value.__wchb[0]; - -- *outptrp += 4; - #elif __BYTE_ORDER == __BIG_ENDIAN - /* XXX unaligned */ -- *(*((uint32_t **) outptrp)++) = state->__value.__wch; -+ (*outptrp)[0] = state->__value.__wchb[0]; -+ (*outptrp)[1] = state->__value.__wchb[1]; -+ (*outptrp)[2] = state->__value.__wchb[2]; -+ (*outptrp)[3] = state->__value.__wchb[3]; - #else - # error "This endianess is not supported." - #endif -+ *outptrp += 4; - - /* Clear the state buffer. */ - state->__count &= ~7; -@@ -251,7 +255,8 @@ - return __GCONV_ILLEGAL_INPUT; - } - -- *((uint32_t *) outptr)++ = inval; -+ *((uint32_t *) outptr) = inval; -+ outptr += sizeof (uint32_t); - } - - *inptrp = inptr; -@@ -427,9 +432,11 @@ - #if __BYTE_ORDER == __BIG_ENDIAN - /* Sigh, we have to do some real work. */ - size_t cnt; -+ uint32_t *outptr32 = (uint32_t *) outptr; - - for (cnt = 0; cnt < n_convert; ++cnt, inptr += 4) -- *((uint32_t *) outptr)++ = bswap_32 (*(const uint32_t *) inptr); -+ *outptr32++ = bswap_32 (*(const uint32_t *) inptr); -+ outptr = (unsigned char *) outptr32; - - *inptrp = inptr; - *outptrp = outptr; -@@ -530,12 +537,17 @@ - (*outptrp)[2] = state->__value.__wchb[1]; - (*outptrp)[3] = state->__value.__wchb[0]; - -- *outptrp += 4; - #else - /* XXX unaligned */ -- *(*((uint32_t **) outptrp)++) = state->__value.__wch; -+ (*outptrp)[0] = state->__value.__wchb[0]; -+ (*outptrp)[1] = state->__value.__wchb[1]; -+ (*outptrp)[2] = state->__value.__wchb[2]; -+ (*outptrp)[3] = state->__value.__wchb[3]; -+ - #endif - -+ *outptrp += 4; -+ - /* Clear the state buffer. */ - state->__count &= ~7; - -@@ -600,7 +612,8 @@ - return __GCONV_ILLEGAL_INPUT; - } - -- *((uint32_t *) outptr)++ = inval; -+ *((uint32_t *) outptr) = inval; -+ outptr += sizeof (uint32_t); - } - - *inptrp = inptr; -@@ -782,7 +795,8 @@ - } \ - else \ - /* It's an one byte sequence. */ \ -- *((uint32_t *) outptr)++ = *inptr++; \ -+ *((uint32_t *) outptr) = *inptr++; \ -+ outptr += sizeof (uint32_t); \ - } - #define LOOP_NEED_FLAGS - #include <iconv/loop.c> -@@ -812,7 +826,8 @@ - } \ - else \ - /* It's an one byte sequence. */ \ -- *outptr++ = *((const uint32_t *) inptr)++; \ -+ *outptr++ = *((const uint32_t *) inptr); \ -+ inptr += sizeof (uint32_t); \ - } - #define LOOP_NEED_FLAGS - #include <iconv/loop.c> -@@ -1031,7 +1046,8 @@ - } \ - \ - /* Now adjust the pointers and store the result. */ \ -- *((uint32_t *) outptr)++ = ch; \ -+ *((uint32_t *) outptr) = ch; \ -+ outptr += sizeof (uint32_t); \ - } - #define LOOP_NEED_FLAGS - -@@ -1174,7 +1190,8 @@ - continue; \ - } \ - \ -- *((uint32_t *) outptr)++ = u1; \ -+ *((uint32_t *) outptr) = u1; \ -+ outptr += sizeof (uint32_t); \ - inptr += 2; \ - } - #define LOOP_NEED_FLAGS -@@ -1224,7 +1241,8 @@ - } \ - else \ - { \ -- *((uint16_t *) outptr)++ = val; \ -+ *((uint16_t *) outptr) = val; \ -+ outptr += sizeof (uint16_t); \ - inptr += 4; \ - } \ - } -@@ -1265,7 +1283,8 @@ - continue; \ - } \ - \ -- *((uint32_t *) outptr)++ = u1; \ -+ *((uint32_t *) outptr) = u1; \ -+ outptr += sizeof (uint32_t); \ - inptr += 2; \ - } - #define LOOP_NEED_FLAGS -@@ -1314,7 +1333,8 @@ - } \ - else \ - { \ -- *((uint16_t *) outptr)++ = bswap_16 (val); \ -+ *((uint16_t *) outptr) = bswap_16 (val); \ -+ outptr += sizeof (uint16_t); \ - inptr += 4; \ - } \ - } diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-i386.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-i386.patch deleted file mode 100644 index f13a892..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-i386.patch +++ /dev/null @@ -1,49 +0,0 @@ -Fixes -../sysdeps/i386/dl-machine.h: In function '_dl_relocate_object': -../sysdeps/i386/dl-machine.h:306: error: invalid storage class for function 'elf_machine_rel' -../sysdeps/i386/dl-machine.h:385: error: invalid storage class for function 'elf_machine_rel_relative' -../sysdeps/i386/dl-machine.h:393: error: invalid storage class for function 'elf_machine_lazy_rel' - -when building glibc-2.2.5 with gcc-4.0. - ---- /home/dank/downloads/glibc-2.2.5/sysdeps/i386/dl-machine.h 2001-08-30 16:09:10.000000000 -0700 -+++ glibc-2.2.5/sysdeps/i386/dl-machine.h 2005-03-11 14:00:22.601858328 -0800 -@@ -298,7 +299,12 @@ - /* Perform the relocation specified by RELOC and SYM (which is fully resolved). - MAP is the object containing the reloc. */ - -+#if __GNUC__ >= 4 -+auto inline void -+__attribute ((always_inline)) -+#else - static inline void -+#endif - elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, - const Elf32_Sym *sym, const struct r_found_version *version, - Elf32_Addr *const reloc_addr) -@@ -378,7 +384,12 @@ - } - } - -+#if __GNUC__ >= 4 -+auto inline void -+__attribute ((always_inline)) -+#else - static inline void -+#endif - elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc, - Elf32_Addr *const reloc_addr) - { -@@ -386,7 +397,12 @@ - *reloc_addr += l_addr; - } - -+#if __GNUC__ >= 4 -+auto inline void -+__attribute ((always_inline)) -+#else - static inline void -+#endif - elf_machine_lazy_rel (struct link_map *map, - Elf32_Addr l_addr, const Elf32_Rel *reloc) - { diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-iconv.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-iconv.patch deleted file mode 100644 index f7cfa58..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-iconv.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fixes -iconvconfig.c: In function 'write_output': -iconvconfig.c:973: error: invalid storage class for function 'name_insert' - ---- glibc-2.2.5/iconv/iconvconfig.c.old 2002-01-20 19:20:53.000000000 -0800 -+++ glibc-2.2.5/iconv/iconvconfig.c 2005-03-11 14:30:27.000000000 -0800 -@@ -969,7 +969,12 @@ - char tmpfname[sizeof (GCONV_MODULES_CACHE) + strlen (".XXXXXX")]; - - /* Function to insert the names. */ -- static void name_insert (const void *nodep, VISIT value, int level) -+#if __GNUC__ >= 4 -+ auto -+#else -+ static -+#endif -+ void name_insert (const void *nodep, VISIT value, int level) - { - struct name *name; - unsigned int idx; diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-iconvdata.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-iconvdata.patch deleted file mode 100644 index 5019031..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-iconvdata.patch +++ /dev/null @@ -1,114 +0,0 @@ -Fixes - -In file included from jis0208.c:23: -jis0208.h:32: error: array type has incomplete element type -when building with gcc-4.0 - -In file included from cp1258.c:869: -../iconv/skeleton.c: In function 'gconv': -../iconv/skeleton.c:323: error: invalid lvalue in increment - -In file included from cp1255.c:550: -../iconv/skeleton.c: In function 'gconv': -../iconv/skeleton.c:323: error: invalid lvalue in increment - -In file included from gb18030.c:22114: -../iconv/loop.c: In function 'from_gb18030': -../iconv/loop.c:282: error: invalid lvalue in increment -../iconv/loop.c: In function 'from_gb18030_single': -../iconv/loop.c:384: error: invalid lvalue in increment - ---- /home/dank/downloads/glibc-2.2.5/iconvdata/iso8859-1.c 2001-08-03 15:06:50.000000000 -0700 -+++ glibc-2.2.5/iconvdata/iso8859-1.c 2005-03-11 15:09:15.233602808 -0800 -@@ -35,7 +35,8 @@ - #define MIN_NEEDED_OUTPUT MIN_NEEDED_TO - #define LOOPFCT FROM_LOOP - #define BODY \ -- *((uint32_t *) outptr)++ = *inptr++; -+ *((uint32_t *) outptr) = *inptr++; \ -+ outptr += sizeof (uint32_t); - #include <iconv/loop.c> - - ---- /home/dank/downloads/glibc-2.2.5/iconvdata/jis0208.h 2001-07-05 21:54:52.000000000 -0700 -+++ glibc-2.2.5/iconvdata/jis0208.h 2005-03-11 15:27:23.295192304 -0800 -@@ -24,15 +24,6 @@ - #include <gconv.h> - #include <stdint.h> - --/* Conversion table. */ --extern const uint16_t __jis0208_to_ucs[]; -- --extern const char __jisx0208_from_ucs4_lat1[256][2]; --extern const char __jisx0208_from_ucs4_greek[0xc1][2]; --extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[]; --extern const char __jisx0208_from_ucs_tab[][2]; -- -- - /* Struct for table with indeces in UCS mapping table. */ - struct jisx0208_ucs_idx - { -@@ -42,6 +33,15 @@ - }; - - -+/* Conversion table. */ -+extern const uint16_t __jis0208_to_ucs[]; -+ -+extern const char __jisx0208_from_ucs4_lat1[256][2]; -+extern const char __jisx0208_from_ucs4_greek[0xc1][2]; -+extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[]; -+extern const char __jisx0208_from_ucs_tab[][2]; -+ -+ - static inline uint32_t - jisx0208_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset) - { ---- /home/dank/downloads/glibc-2.2.5/iconvdata/cp1258.c 2001-07-05 21:54:49.000000000 -0700 -+++ glibc-2.2.5/iconvdata/cp1258.c 2005-03-11 15:41:44.953200376 -0800 -@@ -66,7 +66,8 @@ - if (__builtin_expect (outbuf + 4 <= outend, 1)) \ - { \ - /* Write out the last character. */ \ -- *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ -+ *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ -+ outbuf += sizeof (uint32_t); \ - data->__statep->__count = 0; \ - } \ - else \ ---- /home/dank/downloads/glibc-2.2.5/iconvdata/cp1255.c 2001-07-05 21:54:49.000000000 -0700 -+++ glibc-2.2.5/iconvdata/cp1255.c 2005-03-11 15:47:40.689120296 -0800 -@@ -65,7 +65,8 @@ - if (__builtin_expect (outbuf + 4 <= outend, 1)) \ - { \ - /* Write out the last character. */ \ -- *((uint32_t *) outbuf)++ = data->__statep->__count >> 3; \ -+ *((uint32_t *) outbuf) = data->__statep->__count >> 3; \ -+ outbuf += sizeof (uint32_t); \ - data->__statep->__count = 0; \ - } \ - else \ ---- /home/dank/downloads/glibc-2.2.5/iconvdata/gb18030.c 2001-08-03 15:06:47.000000000 -0700 -+++ glibc-2.2.5/iconvdata/gb18030.c 2005-03-11 15:54:59.060477720 -0800 -@@ -22108,7 +22108,8 @@ - } \ - } \ - \ -- *((uint32_t *) outptr)++ = ch; \ -+ *((uint32_t *) outptr) = ch; \ -+ outptr += sizeof (uint32_t); \ - } - #define LOOP_NEED_FLAGS - #include <iconv/loop.c> ---- /home/dank/downloads/glibc-2.2.5/iconvdata/iso-2022-cn-ext.c 2001-07-05 21:54:51.000000000 -0700 -+++ glibc-2.2.5/iconvdata/iso-2022-cn-ext.c 2005-03-11 15:55:42.002949472 -0800 -@@ -411,7 +411,8 @@ - } \ - } \ - \ -- *((uint32_t *) outptr)++ = ch; \ -+ *((uint32_t *) outptr) = ch; \ -+ outptr += sizeof (uint32_t); \ - } - #define EXTRA_LOOP_DECLS , int *setp - #define INIT_PARAMS int set = (*setp >> 3) & CURRENT_MASK; \ diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-locale.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-locale.patch deleted file mode 100644 index fa4b5b7..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-locale.patch +++ /dev/null @@ -1,49 +0,0 @@ -Fixes - -In file included from strcoll.c:101: -../locale/weight.h: In function 'strcoll': -../locale/weight.h:23: error: invalid storage class for function 'findidx' -make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/string/strcoll.o] Error 1 -make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5/string' -make[1]: *** [string/subdir_lib] Error 2 -make[1]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5' -make: *** [all] Error 2 - -Discussed here -http://sources.redhat.com/ml/libc-hacker/2004-09/msg00015.html -the fix checked in to cvs seems to be -http://sources.redhat.com/ml/glibc-cvs/2004-q3/msg01071.html -but that fix doesn't support older gcc's, so I can't use it directly. - -Here's a fix the does work with older versions of gcc: - ---- glibc-2.2.5/locale/weight.h.old 2001-07-05 21:55:33.000000000 -0700 -+++ glibc-2.2.5/locale/weight.h 2005-03-10 16:07:46.669579888 -0800 -@@ -18,7 +18,12 @@ - 02111-1307 USA. */ - - /* Find index of weight. */ -+#if __GNUC__ >= 4 -+auto inline int32_t -+__attribute ((always_inline)) -+#else - static inline int32_t -+#endif - findidx (const unsigned char **cpp) - { - int_fast32_t i = table[*(*cpp)++]; ---- glibc-2.2.5/locale/weightwc.h.old 2001-08-06 21:26:15.000000000 -0700 -+++ glibc-2.2.5/locale/weightwc.h 2005-03-10 16:13:08.651631176 -0800 -@@ -18,7 +18,12 @@ - 02111-1307 USA. */ - - /* Find index of weight. */ -+#if __GNUC__ >= 4 -+auto inline int32_t -+__attribute ((always_inline)) -+#else - static inline int32_t -+#endif - findidx (const wint_t **cpp) - { - int32_t i; diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-malloc.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-malloc.patch deleted file mode 100644 index 2d9f092..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-malloc.patch +++ /dev/null @@ -1,48 +0,0 @@ -Fixes -programs/ld-collate.c: In function 'obstack_int32_grow': -programs/ld-collate.c:48: error: invalid lvalue in increment -programs/ld-collate.c: In function 'obstack_int32_grow_fast': -programs/ld-collate.c:57: error: invalid lvalue in increment - -Change taken by eyeball from version 1.20 at -http://sourceware.org/cgi-bin/cvsweb.cgi/libc/malloc/obstack.h?cvsroot=glibc - ---- /home/dank/downloads/glibc-2.2.5/malloc/obstack.h 2001-07-05 21:55:35.000000000 -0700 -+++ glibc-2.2.5/malloc/obstack.h 2005-03-11 16:12:16.175812224 -0800 -@@ -423,22 +423,29 @@ - ({ struct obstack *__o = (OBSTACK); \ - if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (void *)); \ -- *((void **)__o->next_free)++ = (datum); \ -- (void) 0; }) -+ obstack_ptr_grow_fast (__o, datum); }) - - # define obstack_int_grow(OBSTACK,datum) \ - __extension__ \ - ({ struct obstack *__o = (OBSTACK); \ - if (__o->next_free + sizeof (int) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (int)); \ -- *((int *)__o->next_free)++ = (datum); \ -+ obstack_int_grow_fast (__o, datum); }) -+ -+# define obstack_ptr_grow_fast(OBSTACK,aptr) \ -+__extension__ \ -+({ struct obstack *__o1 = (OBSTACK); \ -+ *(const void **) __o1->next_free = (aptr); \ -+ __o1->next_free += sizeof (const void *); \ - (void) 0; }) - --# define obstack_ptr_grow_fast(h,aptr) \ -- (*((void **) (h)->next_free)++ = (aptr)) -+# define obstack_int_grow_fast(OBSTACK,aint) \ -+__extension__ \ -+({ struct obstack *__o1 = (OBSTACK); \ -+ *(int *) __o1->next_free = (aint); \ -+ __o1->next_free += sizeof (int); \ -+ (void) 0; }) - --# define obstack_int_grow_fast(h,aint) \ -- (*((int *) (h)->next_free)++ = (aint)) - - # define obstack_blank(OBSTACK,length) \ - __extension__ \ diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-mipsel.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-mipsel.patch deleted file mode 100644 index 1b4f445..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-mipsel.patch +++ /dev/null @@ -1,81 +0,0 @@ -Message-ID: <424A8F67.7060307@kaear.co.uk> -Date: Wed, 30 Mar 2005 12:37:11 +0100 -From: Piete Sartain <kaear@kaear.co.uk> -To: crossgcc@sources.redhat.com -Subject: [Patch] CT 0.3 - glibc-2.2.5-allow-gcc-4.0-mipsel - - -I copied the relevant sections out of -http://kegel.com/crosstool/crosstool-0.29/patches/glibc-2.3-20050307/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch -for a mipsel target. - -The build still fails, but now with an assembler error at crtbegin.o. - -[---dank: judging from my old buildlogs, this should fix: - -In file included from dynamic-link.h:21, - from dl-reloc.c:153: -../sysdeps/mips/dl-machine.h: In function '_dl_relocate_object': -../sysdeps/mips/dl-machine.h:477: error: invalid storage class for function 'elf_machine_rel' -../sysdeps/mips/dl-machine.h:539: error: invalid storage class for function 'elf_machine_rel_relative' -../sysdeps/mips/dl-machine.h:546: error: invalid storage class for function 'elf_machine_lazy_rel' -../sysdeps/mips/dl-machine.h:554: error: invalid storage class for function 'elf_machine_got_rel' -../sysdeps/mips/dl-machine.h:641: error: invalid storage class for function 'elf_machine_runtime_setup' -make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/mipsel-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5/elf' -make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-0.30/build/mipsel-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/elf/dl-reloc.o] Error 1 -make[1]: *** [elf/subdir_lib] Error 2 -make[1]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/mipsel-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5' -make: *** [all] Error 2 ----] - - ---- glibc-2.2.5/sysdeps/mips/dl-machine.h.old 2005-03-28 18:19:56.000000000 +0100 -+++ glibc-2.2.5/sysdeps/mips/dl-machine.h 2005-03-28 18:25:15.000000000 +0100 -@@ -534,14 +534,28 @@ - } - } - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc, - ElfW(Addr) *const reloc_addr) - { - /* XXX Nothing to do. There is no relative relocation, right? */ - } - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_lazy_rel (struct link_map *map, - ElfW(Addr) l_addr, const ElfW(Rel) *reloc) - { -@@ -550,7 +564,14 @@ - - #ifndef RTLD_BOOTSTRAP - /* Relocate GOT. */ --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_got_rel (struct link_map *map, int lazy) - { - ElfW(Addr) *got; - diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-msort.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-msort.patch deleted file mode 100644 index 171d2e4..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-msort.patch +++ /dev/null @@ -1,47 +0,0 @@ -Fixes - -msort.c: In function 'msort_with_tmp': -msort.c:59: error: invalid lvalue in increment -msort.c:59: error: invalid lvalue in increment -msort.c:64: error: invalid lvalue in increment -msort.c:64: error: invalid lvalue in increment -make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/stdlib/msort.o] Error 1 -make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5/stdlib' -make[1]: *** [stdlib/subdir_lib] Error 2 -make[1]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5' -make: *** [all] Error 2 - -when building glibc-2.2.5 with gcc-3.4. - -Taken from ../glibc-2.3.2/glibc-2.3.2-allow-gcc-3.5-msort.patch -and rediffed. - ---- glibc-2.2.5/stdlib/msort.c.old 2001-07-05 21:55:41.000000000 -0700 -+++ glibc-2.2.5/stdlib/msort.c 2005-03-10 08:24:24.152204976 -0800 -@@ -1,6 +1,6 @@ - /* An alternative to qsort, with an identical interface. - This file is part of the GNU C Library. -- Copyright (C) 1992, 1995-1997, 1999, 2000, 2001 Free Software Foundation, Inc. -+ Copyright (C) 1992, 1995-1997, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. - Written by Mike Haertel, September 1988. - - The GNU C Library is free software; you can redistribute it and/or -@@ -56,12 +56,16 @@ - if ((*cmp) (b1, b2) <= 0) - { - --n1; -- *((op_t *) tmp)++ = *((op_t *) b1)++; -+ *((op_t *) tmp) = *((op_t *) b1); -+ tmp += sizeof (op_t); -+ b1 += sizeof (op_t); - } - else - { - --n2; -- *((op_t *) tmp)++ = *((op_t *) b2)++; -+ *((op_t *) tmp) = *((op_t *) b2); -+ tmp += sizeof (op_t); -+ b2 += sizeof (op_t); - } - } - else diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc-procfs.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc-procfs.patch deleted file mode 100644 index fb1a0c9..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc-procfs.patch +++ /dev/null @@ -1,54 +0,0 @@ -(See similar patch for glibc-2.3.3) - -This fix discussed here: -http://gcc.gnu.org/ml/gcc/2005-01/msg00509.html - -Fixes - -In file included from ../linuxthreads_db/proc_service.h:20, - from ../linuxthreads_db/thread_dbP.h:6, - from internals.h:36, - from attr.c:23: -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:53: error: syntax error before 'elf_vrreg_t' -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:53: warning: type defaults to 'int' in declaration of 'elf_vrreg_t' -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:53: warning: data definition has no type or storage class -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:54: error: syntax error before 'elf_vrregset_t' -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:54: warning: type defaults to 'int' in declaration of 'elf_vrregset_t' -../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:54: warning: data definition has no type or storage class -make[2]: Leaving directory `/home/dank/queue/jobdir.fast2/crosstool-0.30/build/powerpc-405-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/glibc-2.2.5/linuxthreads' -make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-0.30/build/powerpc-405-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/linuxthreads/attr.o] Error 1 - -From: Martin Egholm Nielsen martin at egholm-nielsen dot dk -To: crossgcc at sources dot redhat dot com -Date: Thu, 24 Mar 2005 18:40:27 +0100 -Subject: [Patch] CT 0.29 - glibc-2.2.5-allow-gcc-4.0-powerpc-procfs - -Hi Dan, - -I had to add the following patch in order to make CT 0.29 and glibc -2.2.5 compile with gcc 4.0 (20050305) and Kernel 2.4.20... - -// Martin - ---- glibc-2.2.5/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h.old 2005-03-24 13:11:39.746062400 +0100 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h 2005-03-24 13:15:11.810996800 +0100 -@@ -42,15 +42,10 @@ - typedef double elf_fpreg_t; - typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; - --/* gcc 3.1 and newer support __uint128_t. */ --#if !__GNUC_PREREQ(3,1) --typedef struct { -- unsigned long u[4]; --} __attribute((aligned(16))) __uint128_t; --#endif -- - /* Altivec registers */ --typedef __uint128_t elf_vrreg_t; -+typedef struct { -+ unsigned int u[4]; -+} __attribute__ ((aligned (16))) elf_vrreg_t; - typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; - - struct elf_siginfo - diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc.patch deleted file mode 100644 index 6b889c2..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc.patch +++ /dev/null @@ -1,23 +0,0 @@ -In file included from dynamic-link.h:21, - from dl-reloc.c:153: -../sysdeps/powerpc/dl-machine.h: In function '_dl_relocate_object': -../sysdeps/powerpc/dl-machine.h:399: error: invalid storage class for function 'elf_machine_rela_relative' -make[2]: *** [/home/dank/queue/jobdir.dual2/crosstool-dev/build/powerpc-750-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/elf/dl-reloc.o] Error 1 ---- glibc-2.2.5/sysdeps/powerpc/dl-machine.h.old Thu Mar 17 13:28:17 2005 -+++ glibc-2.2.5/sysdeps/powerpc/dl-machine.h Thu Mar 17 13:29:03 2005 -@@ -393,7 +393,14 @@ - reloc_addr, finaladdr, rinfo); - } - --static inline void -+#if __GNUC__ >= 4 -+ auto inline void -+#else -+ static inline void -+#endif -+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) -+ __attribute ((always_inline)) -+#endif - elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, - Elf32_Addr *const reloc_addr) - { diff --git a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-sunrpc.patch b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-sunrpc.patch deleted file mode 100644 index 4a07130..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-sunrpc.patch +++ /dev/null @@ -1,221 +0,0 @@ -[Taken from ../glibc-2.3.2/glibc-2.3.2-allow-gcc-3.4-sunrpc.patch, -rediffed, and with a fix for sunrpc/auth_none.c that was -inexplicably not included in the original patch.] - -Fixes - -auth_none.c: In function 'authnone_create': -auth_none.c:83: error: invalid lvalue in assignment -clnt_perr.c: In function '_buf': -clnt_perr.c:68: error: invalid lvalue in assignment -clnt_raw.c: In function 'clntraw_create': -clnt_raw.c:103: error: invalid lvalue in assignment -clnt_simp.c: In function 'callrpc': -clnt_simp.c:78: error: invalid lvalue in assignment -etc. - -building glibc-2.2.5 with gcc-4.0. - ---- - -http://sources.redhat.com/ml/libc-hacker/2004-02/msg00005.html -[Also in CVS, but the original patch is easier to get.] - -Fixes errors like - -clnt_perr.c: In function `_buf': -clnt_perr.c:67: error: invalid lvalue in assignment - -when building with gcc-3.5. - -To: libc-hacker at sources dot redhat dot com -Subject: Fix cast as lvalue in sunrpc -From: Andreas Schwab <schwab at suse dot de> -X-Yow: SHHHH!! I hear SIX TATTOOED TRUCK-DRIVERS tossing ENGINE BLOCKS - into empty OIL DRUMS dot dot -Date: Sun, 08 Feb 2004 17:38:31 +0100 -Message-ID: <je4qu1frw8.fsf@sykes.suse.de> - -This fixes the uses of casts as lvalue in the sunrpc code. - -Andreas. - -2004-02-08 Andreas Schwab <schwab@suse.de> - - * include/rpc/rpc.h: Declare thread variables with their correct - type. - * sunrpc/clnt_perr.c: Don't cast thread variables. - * sunrpc/clnt_raw.c: Likewise. - * sunrpc/clnt_simp.c: Likewise. - * sunrpc/key_call.c: Likewise. - * sunrpc/svcauth_des.c: Likewise. - * sunrpc/svc.c: Likewise. - * sunrpc/svc_raw.c: Likewise. - * sunrpc/svc_simple.c: Likewise. - -diff -ur glibc-2.2.5/include/rpc/rpc.h glibc-2.2.5-patched/include/rpc/rpc.h ---- glibc-2.2.5/include/rpc/rpc.h 2001-03-25 21:11:32.000000000 -0800 -+++ glibc-2.2.5-patched/include/rpc/rpc.h 2005-03-11 13:18:29.810860624 -0800 -@@ -18,24 +18,24 @@ - - void *authnone_private_s; /* auth_none.c */ - -- void *clnt_perr_buf_s; /* clnt_perr.c */ -+ char *clnt_perr_buf_s; /* clnt_perr.c */ - -- void *clntraw_private_s; /* clnt_raw.c */ -+ struct clntraw_private_s *clntraw_private_s; /* clnt_raw.c */ - -- void *callrpc_private_s; /* clnt_simp.c */ -+ struct callrpc_private_s *callrpc_private_s; /* clnt_simp.c */ - -- void *key_call_private_s; /* key_call.c */ -+ struct key_call_private *key_call_private_s; /* key_call.c */ - -- void *authdes_cache_s; /* svcauth_des.c */ -- void *authdes_lru_s; /* svcauth_des.c */ -+ struct cache_entry *authdes_cache_s; /* svcauth_des.c */ -+ int *authdes_lru_s; /* svcauth_des.c */ - -- void *svc_xports_s; /* svc.c */ -- void *svc_head_s; /* svc.c */ -+ SVCXPRT **svc_xports_s; /* svc.c */ -+ struct svc_callout *svc_head_s; /* svc.c */ - -- void *svcraw_private_s; /* svc_raw.c */ -+ struct svcraw_private_s *svcraw_private_s; /* svc_raw.c */ - -- void *svcsimple_proglst_s; /* svc_simple.c */ -- void *svcsimple_transp_s; /* svc_simple.c */ -+ struct proglst_ *svcsimple_proglst_s; /* svc_simple.c */ -+ SVCXPRT *svcsimple_transp_s; /* svc_simple.c */ - }; - - extern struct rpc_thread_variables *__rpc_thread_variables(void) ---- glibc-2.2.5/sunrpc/auth_none.c.old 2005-03-10 16:26:53.874178280 -0800 -+++ glibc-2.2.5/sunrpc/auth_none.c 2005-03-10 16:34:24.551664888 -0800 -@@ -62,7 +62,7 @@ - u_int mcnt; - }; - #ifdef _RPC_THREAD_SAFE_ --#define authnone_private ((struct authnone_private_s *)RPC_THREAD_VARIABLE(authnone_private_s)) -+#define authnone_private RPC_THREAD_VARIABLE(authnone_private_s) - #else - static struct authnone_private_s *authnone_private; - #endif -diff -ur glibc-2.2.5/sunrpc/clnt_perr.c glibc-2.2.5-patched/sunrpc/clnt_perr.c ---- glibc-2.2.5/sunrpc/clnt_perr.c 2001-08-16 21:48:31.000000000 -0700 -+++ glibc-2.2.5-patched/sunrpc/clnt_perr.c 2005-03-11 13:18:29.812860320 -0800 -@@ -56,7 +56,7 @@ - * buf variable in a few functions. Overriding a global variable - * with a local variable of the same name is a bad idea, anyway. - */ --#define buf ((char *)RPC_THREAD_VARIABLE(clnt_perr_buf_s)) -+#define buf RPC_THREAD_VARIABLE(clnt_perr_buf_s) - #else - static char *buf; - #endif -diff -ur glibc-2.2.5/sunrpc/clnt_raw.c glibc-2.2.5-patched/sunrpc/clnt_raw.c ---- glibc-2.2.5/sunrpc/clnt_raw.c 2001-03-20 10:34:22.000000000 -0800 -+++ glibc-2.2.5-patched/sunrpc/clnt_raw.c 2005-03-11 13:18:29.813860168 -0800 -@@ -61,7 +61,7 @@ - u_int mcnt; - }; - #ifdef _RPC_THREAD_SAFE_ --#define clntraw_private ((struct clntraw_private_s *)RPC_THREAD_VARIABLE(clntraw_private_s)) -+#define clntraw_private RPC_THREAD_VARIABLE(clntraw_private_s) - #else - static struct clntraw_private_s *clntraw_private; - #endif -diff -ur glibc-2.2.5/sunrpc/clnt_simp.c glibc-2.2.5-patched/sunrpc/clnt_simp.c ---- glibc-2.2.5/sunrpc/clnt_simp.c 2001-08-19 23:28:21.000000000 -0700 -+++ glibc-2.2.5-patched/sunrpc/clnt_simp.c 2005-03-11 13:18:29.814860016 -0800 -@@ -55,7 +55,7 @@ - char *oldhost; - }; - #ifdef _RPC_THREAD_SAFE_ --#define callrpc_private ((struct callrpc_private_s *)RPC_THREAD_VARIABLE(callrpc_private_s)) -+#define callrpc_private RPC_THREAD_VARIABLE(callrpc_private_s) - #else - static struct callrpc_private_s *callrpc_private; - #endif -diff -ur glibc-2.2.5/sunrpc/key_call.c glibc-2.2.5-patched/sunrpc/key_call.c ---- glibc-2.2.5/sunrpc/key_call.c 2001-03-20 10:34:22.000000000 -0800 -+++ glibc-2.2.5-patched/sunrpc/key_call.c 2005-03-11 13:18:29.816859712 -0800 -@@ -360,7 +360,7 @@ - uid_t uid; /* user-id at last authorization */ - }; - #ifdef _RPC_THREAD_SAFE_ --#define key_call_private_main ((struct key_call_private *)RPC_THREAD_VARIABLE(key_call_private_s)) -+#define key_call_private_main RPC_THREAD_VARIABLE(key_call_private_s) - #else - static struct key_call_private *key_call_private_main; - #endif -diff -ur glibc-2.2.5/sunrpc/svcauth_des.c glibc-2.2.5-patched/sunrpc/svcauth_des.c ---- glibc-2.2.5/sunrpc/svcauth_des.c 2001-08-19 23:37:09.000000000 -0700 -+++ glibc-2.2.5-patched/sunrpc/svcauth_des.c 2005-03-11 13:18:29.821858952 -0800 -@@ -72,8 +72,8 @@ - char *localcred; /* generic local credential */ - }; - #ifdef _RPC_THREAD_SAFE_ --#define authdes_cache ((struct cache_entry *)RPC_THREAD_VARIABLE(authdes_cache_s)) --#define authdes_lru ((int *)RPC_THREAD_VARIABLE(authdes_lru_s)) -+#define authdes_cache RPC_THREAD_VARIABLE(authdes_cache_s) -+#define authdes_lru RPC_THREAD_VARIABLE(authdes_lru_s) - #else - static struct cache_entry *authdes_cache; - static int *authdes_lru; -diff -ur glibc-2.2.5/sunrpc/svc.c glibc-2.2.5-patched/sunrpc/svc.c ---- glibc-2.2.5/sunrpc/svc.c 2001-03-20 10:34:22.000000000 -0800 -+++ glibc-2.2.5-patched/sunrpc/svc.c 2005-03-11 13:18:29.817859560 -0800 -@@ -44,7 +44,7 @@ - #include <sys/poll.h> - - #ifdef _RPC_THREAD_SAFE_ --#define xports ((SVCXPRT **)RPC_THREAD_VARIABLE(svc_xports_s)) -+#define xports RPC_THREAD_VARIABLE(svc_xports_s) - #else - static SVCXPRT **xports; - #endif -@@ -63,7 +63,7 @@ - void (*sc_dispatch) (struct svc_req *, SVCXPRT *); - }; - #ifdef _RPC_THREAD_SAFE_ --#define svc_head ((struct svc_callout *)RPC_THREAD_VARIABLE(svc_head_s)) -+#define svc_head RPC_THREAD_VARIABLE(svc_head_s) - #else - static struct svc_callout *svc_head; - #endif -diff -ur glibc-2.2.5/sunrpc/svc_raw.c glibc-2.2.5-patched/sunrpc/svc_raw.c ---- glibc-2.2.5/sunrpc/svc_raw.c 2001-03-20 10:34:22.000000000 -0800 -+++ glibc-2.2.5-patched/sunrpc/svc_raw.c 2005-03-11 13:18:29.818859408 -0800 -@@ -54,7 +54,7 @@ - char verf_body[MAX_AUTH_BYTES]; - }; - #ifdef _RPC_THREAD_SAFE_ --#define svcraw_private ((struct svcraw_private_s *)RPC_THREAD_VARIABLE(svcraw_private_s)) -+#define svcraw_private RPC_THREAD_VARIABLE(svcraw_private_s) - #else - static struct svcraw_private_s *svcraw_private; - #endif -diff -ur glibc-2.2.5/sunrpc/svc_simple.c glibc-2.2.5-patched/sunrpc/svc_simple.c ---- glibc-2.2.5/sunrpc/svc_simple.c 2001-08-17 00:16:04.000000000 -0700 -+++ glibc-2.2.5-patched/sunrpc/svc_simple.c 2005-03-11 13:18:29.820859104 -0800 -@@ -62,7 +62,7 @@ - struct proglst_ *p_nxt; - }; - #ifdef _RPC_THREAD_SAFE_ --#define proglst ((struct proglst_ *)RPC_THREAD_VARIABLE(svcsimple_proglst_s)) -+#define proglst RPC_THREAD_VARIABLE(svcsimple_proglst_s) - #else - static struct proglst_ *proglst; - #endif -@@ -70,7 +70,7 @@ - - static void universal (struct svc_req *rqstp, SVCXPRT *transp_s); - #ifdef _RPC_THREAD_SAFE_ --#define transp ((SVCXPRT *)RPC_THREAD_VARIABLE(svcsimple_transp_s)) -+#define transp RPC_THREAD_VARIABLE(svcsimple_transp_s) - #else - static SVCXPRT *transp; - #endif diff --git a/patches/glibc/2.2.5/glibc-2.2.5-alpha-pwrite64.patch b/patches/glibc/2.2.5/glibc-2.2.5-alpha-pwrite64.patch deleted file mode 100644 index 89cc9ea..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-alpha-pwrite64.patch +++ /dev/null @@ -1,58 +0,0 @@ -Fix for this error: - -../sysdeps/unix/sysv/linux/pread.c: In function `__libc_pread': -../sysdeps/unix/sysv/linux/pread.c:52: error: `__NR_pread' undeclared (first use in this function) -../sysdeps/unix/sysv/linux/pread.c:52: error: (Each undeclared identifier is reported only once -../sysdeps/unix/sysv/linux/pread.c:52: error: for each function it appears in.) -make[2]: *** [/home/dank/crosstool-0.28/build/alpha-unknown-linux-gnu/gcc-3.4.1-glibc-2.2.5/build-glibc/posix/pread.o] Error 1 -make[2]: Leaving directory `/home/dank/crosstool-0.28/build/alpha-unknown-linux-gnu/gcc-3.4.1-glibc-2.2.5/glibc-2.2.5/posix' -make[1]: *** [posix/subdir_lib] Error 2 -make[1]: Leaving directory `/home/dank/crosstool-0.28/build/alpha-unknown-linux-gnu/gcc-3.4.1-glibc-2.2.5/glibc-2.2.5' -make: *** [all] Error 2 - -[ Same as glibc-2.3.2-alpha-pwrite.patch except for copyright date ] - -extracted from GLIBC CVS by Dan Kegel -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/alpha/sysdep.h.diff?r1=1.14&r2=1.15&cvsroot=glibc' -(to match context of...) -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/alpha/sysdep.h.diff?r1=1.16&r2=1.17&cvsroot=glibc' -and rediffed. - -cf. -http://sources.redhat.com/ml/libc-alpha/2003-10/msg00038.html - -Originally thought we needed this hunk, too: -http://sources.redhat.com/ml/libc-alpha/2003-10/msg00037.html -but it seems the sysdep.h change is sufficient, and works better -when compiling against linux-2.4. - -=================================================================== ---- glibc-2.3.2/sysdeps/unix/sysv/linux/alpha/sysdep.h.old 2004-05-24 22:21:44.000000000 -0700 -+++ glibc-2.3.2/sysdeps/unix/sysv/linux/alpha/sysdep.h 2004-05-24 22:22:48.000000000 -0700 -@@ -1,3 +1,3 @@ --/* Copyright (C) 1992, 1993, 1995, 1996, 1997 Free Software Foundation, Inc. -+/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. -@@ -60,6 +60,21 @@ - #define __NR_osf_getsysinfo 256 - #define __NR_osf_setsysinfo 257 - -+/* Help old kernel headers where particular syscalls are not available. */ -+#ifndef __NR_semtimedop -+# define __NR_semtimedop 423 -+#endif -+ -+/* This is a kludge to make syscalls.list find these under the names -+ pread and pwrite, since some kernel headers define those names -+ and some define the *64 names for the same system calls. */ -+#if !defined __NR_pread && defined __NR_pread64 -+# define __NR_pread __NR_pread64 -+#endif -+#if !defined __NR_pwrite && defined __NR_pwrite64 -+# define __NR_pwrite __NR_pwrite64 -+#endif -+ - /* - * In order to get the hidden arguments for rt_sigaction set up - * properly, we need to call the assembly version. Detect this in the diff --git a/patches/glibc/2.2.5/glibc-2.2.5-arm-pwrite64.patch b/patches/glibc/2.2.5/glibc-2.2.5-arm-pwrite64.patch deleted file mode 100644 index c4bd19c..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-arm-pwrite64.patch +++ /dev/null @@ -1,30 +0,0 @@ -Should fix - -../sysdeps/unix/sysv/linux/pread.c: In function `__libc_pread': -../sysdeps/unix/sysv/linux/pread.c:52: error: `__NR_pread' undeclared (first use in this function) -../sysdeps/unix/sysv/linux/pread.c:52: error: (Each undeclared identifier is reported only once -../sysdeps/unix/sysv/linux/pread.c:52: error: for each function it appears in.) -make[2]: *** [/home/dank/crosstool-0.28/build/arm-9tdmi-linux-gnu/gcc-3.4.1-glibc-2.2.5/build-glibc/posix/pread.o] Error 1 -make[2]: Leaving directory `/home/dank/crosstool-0.28/build/arm-9tdmi-linux-gnu/gcc-3.4.1-glibc-2.2.5/glibc-2.2.5/posix' -make[1]: *** [posix/subdir_lib] Error 2 - -Copied from similar patch for alpha. - ---- glibc-2.2.5-orig/sysdeps/unix/sysv/linux/arm/sysdep.h 2001-07-05 21:56:13.000000000 -0700 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/arm/sysdep.h 2004-08-07 10:45:26.000000000 -0700 -@@ -32,6 +32,15 @@ - #define SWI_BASE (0x900000) - #define SYS_ify(syscall_name) (__NR_##syscall_name) - -+/* This is a kludge to make syscalls.list find these under the names -+ pread and pwrite, since some kernel headers define those names -+ and some define the *64 names for the same system calls. */ -+#if !defined __NR_pread && defined __NR_pread64 -+# define __NR_pread __NR_pread64 -+#endif -+#if !defined __NR_pwrite && defined __NR_pwrite64 -+# define __NR_pwrite __NR_pwrite64 -+#endif - - #ifdef __ASSEMBLER__ - diff --git a/patches/glibc/2.2.5/glibc-2.2.5-crosstest.patch b/patches/glibc/2.2.5/glibc-2.2.5-crosstest.patch deleted file mode 100644 index c9f3701..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-crosstest.patch +++ /dev/null @@ -1,27 +0,0 @@ -Fixes errors like - /build-glibc/dlfcn/glrefmain: cannot load `glreflib1.so' -in glibc regression test - ---- glibc-2.2.5/dlfcn/Makefile.old Thu Jul 24 16:30:20 2003 -+++ glibc-2.2.5/dlfcn/Makefile Thu Jul 24 17:25:01 2003 -@@ -60,6 +60,8 @@ - test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names))) - $(test-modules): $(objpfx)%.so: $(objpfx)%.os - $(build-module) -+# without following rule, test-modules don't get built when cross-compiling -+tests: $(test-modules) - - $(objpfx)glrefmain: $(libdl) - $(objpfx)glrefmain.out: $(objpfx)glrefmain \ ---- glibc-2.2.5/elf/Makefile.old Thu Jul 24 18:17:12 2003 -+++ glibc-2.2.5/elf/Makefile Thu Jul 24 18:18:58 2003 -@@ -263,6 +263,9 @@ - test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names)))) - generated += $(addsuffix .so,$(strip $(modules-names))) - -+# without following rule, test-modules don't get built when cross-compiling -+tests: $(test-modules) -+ - ifeq (yes,$(build-shared)) - ifeq ($(cross-compiling),no) - tests: $(objpfx)tst-pathopt.out diff --git a/patches/glibc/2.2.5/glibc-2.2.5-crossyes.patch b/patches/glibc/2.2.5/glibc-2.2.5-crossyes.patch deleted file mode 100644 index 842d8f5..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-crossyes.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- glibc-2.2.5/configure.old 2003-05-30 21:51:13.000000000 -0700 -+++ glibc-2.2.5/configure 2003-05-30 21:51:23.000000000 -0700 -@@ -1738,7 +1738,7 @@ - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then -- ac_cv_prog_cc_cross=no -+ ac_cv_prog_cc_cross=yes - else - ac_cv_prog_cc_cross=yes - fi diff --git a/patches/glibc/2.2.5/glibc-2.2.5-cygwin.patch b/patches/glibc/2.2.5/glibc-2.2.5-cygwin.patch deleted file mode 100644 index f14998d..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-cygwin.patch +++ /dev/null @@ -1,89 +0,0 @@ -Fixes -elf/librtld.os: In function `process_envvars': : undefined reference to `__access' -... -when building glibc-2.3.2 on cygwin - -Idea from -http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch -forward ported to glibc-2.3.2. -Basically, make glibc use .oST as suffix for 'object static' -instead of .oS, since cygwin has trouble distinguishing .os from .oS -(Original patch had .on, but .oST is more mnemonic for 'object static') - - -diff -Naur from-cvs/Makeconfig patched/Makeconfig ---- from-cvs/Makeconfig Fri Jan 11 14:40:35 2002 -+++ patched/Makeconfig Fri Jan 11 15:07:30 2002 -@@ -439,13 +439,13 @@ - # run the linked programs. - link-libc = -Wl,-rpath-link=$(rpath-link) \ - $(common-objpfx)libc.so$(libc.so-version) \ -- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) -+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib) - # This is how to find at build-time things that will be installed there. - rpath-dirs = math elf dlfcn nss nis rt resolv crypt - else - ifneq (,$(findstring aix,$(config-os))) - link-libc = $(common-objpfx)libc.a \ -- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) -+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib) - rpath-dirs = math dlfcn nss nis rt resolv crypt - endif - endif -@@ -649,7 +649,7 @@ - # The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX}) - # to pass different flags for each flavor. - libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o)) --all-object-suffixes := .o .os .op .og .ob .oS -+all-object-suffixes := .o .os .op .og .ob .oST - object-suffixes := - CPPFLAGS-.o = $(pic-default) - CFLAGS-.o = $(filter %frame-pointer,$(+cflags)) -@@ -703,14 +703,14 @@ - - ifeq (yes,$(build-shared)) - # Build special library that contains the static-only routines for libc. --object-suffixes-for-libc += .oS -+object-suffixes-for-libc += .oST - - # Must build the routines as PIC, though, because they can end up in (users') - # shared objects. We don't want to use CFLAGS-os because users may, for - # example, make that processor-specific. --CFLAGS-.oS = $(CFLAGS-.o) $(pic-ccflag) --CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC --libtype.oS = lib%_nonshared.a -+CFLAGS-.oST = $(CFLAGS-.o) $(pic-ccflag) -+CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -+libtype.oST = lib%_nonshared.a - endif - - -diff -Naur from-cvs/Makerules patched/Makerules ---- from-cvs/Makerules Fri Jan 11 14:40:42 2002 -+++ patched/Makerules Fri Jan 11 15:06:00 2002 -@@ -361,7 +361,7 @@ - # Bounded pointer thunks are only built for *.ob - elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks)) - --elide-routines.oS += $(filter-out $(static-only-routines),\ -+elide-routines.oST += $(filter-out $(static-only-routines),\ - $(routines) $(aux) $(sysdep_routines)) \ - $(elide-bp-thunks) - elide-routines.os += $(static-only-routines) $(elide-bp-thunks) -@@ -842,14 +842,14 @@ - # of the files are taken by the linker. - install: $(inst_libdir)/libc.so - $(inst_libdir)/libc.so: $(common-objpfx)libc.so$(libc.so-version) \ -- $(inst_libdir)/$(patsubst %,$(libtype.oS),\ -+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\ - $(libprefix)$(libc-name)) \ - $(+force) - (echo '/* GNU ld script';\ - echo ' Use the shared library, but some functions are only in';\ - echo ' the static library, so try that secondarily. */';\ - echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \ -- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\ -+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\ - ')' \ - ) > $@.new - mv -f $@.new $@ diff --git a/patches/glibc/2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch b/patches/glibc/2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch deleted file mode 100644 index 97740d5..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch +++ /dev/null @@ -1,1134 +0,0 @@ -# See http://sources.redhat.com/ml/crossgcc/2002-05/msg00132.html -# This patch is taken directly from the Montavista Hard Hat Linux 2.0 source RPMs, -# but has been rediffed against glibc-2.2.5 - -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/Dist glibc-2.2.5/sysdeps/powerpc/Dist ---- glibc-2.2.5.old/sysdeps/powerpc/Dist Fri Jun 30 23:30:21 2000 -+++ glibc-2.2.5/sysdeps/powerpc/Dist Thu Jul 10 11:43:17 2003 -@@ -1,9 +1,6 @@ - dl-machine.c - dl-start.S - ppc-mcount.S --fe_nomask.c --fprrest.S --fprsave.S - gprsave1.S - gprsave0.S - gprrest1.S -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/Makefile glibc-2.2.5/sysdeps/powerpc/Makefile ---- glibc-2.2.5.old/sysdeps/powerpc/Makefile Mon Nov 27 15:32:47 2000 -+++ glibc-2.2.5/sysdeps/powerpc/Makefile Thu Jul 10 11:43:17 2003 -@@ -3,16 +3,12 @@ - +cflags += -mnew-mnemonics -Wa,-mppc -mpowerpc - asm-CPPFLAGS += -Wa,-mppc - --ifeq ($(subdir),math) --libm-support += fenv_const fe_nomask --endif -- - ifeq ($(subdir),gmon) - sysdep_routines += ppc-mcount - endif - - ifeq ($(subdir),misc) --sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 fprsave fprrest -+sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 - endif - - # On PPC, -fpic works until the GOT contains 2^15 bytes, and possibly -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/Versions glibc-2.2.5/sysdeps/powerpc/Versions ---- glibc-2.2.5.old/sysdeps/powerpc/Versions Mon Feb 28 13:27:57 2000 -+++ glibc-2.2.5/sysdeps/powerpc/Versions Thu Jul 10 11:43:17 2003 -@@ -1,8 +1,4 @@ - libm { -- GLIBC_2.1 { -- # symbols used in macros from sysdeps/powerpc/bits/fenv.h -- __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env; -- } - GLIBC_2.2 { - # Special functions to save and restore registers used by the - # runtime libraries. -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/__longjmp.S glibc-2.2.5/sysdeps/powerpc/__longjmp.S ---- glibc-2.2.5.old/sysdeps/powerpc/__longjmp.S Thu Jul 5 21:56:01 2001 -+++ glibc-2.2.5/sysdeps/powerpc/__longjmp.S Thu Jul 10 11:43:17 2003 -@@ -24,6 +24,8 @@ - #include <bp-sym.h> - #include <bp-asm.h> - -+/* The FPU loads have been removed from this file - see fpu/__longjmp.S */ -+ - ENTRY (BP_SYM (__longjmp)) - CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) - -@@ -31,44 +33,26 @@ - lwz r2,(JB_GPR2*4)(r3) - lwz r0,(JB_LR*4)(r3) - lwz r14,((JB_GPRS+0)*4)(r3) -- lfd fp14,((JB_FPRS+0*2)*4)(r3) - lwz r15,((JB_GPRS+1)*4)(r3) -- lfd fp15,((JB_FPRS+1*2)*4)(r3) - lwz r16,((JB_GPRS+2)*4)(r3) -- lfd fp16,((JB_FPRS+2*2)*4)(r3) - lwz r17,((JB_GPRS+3)*4)(r3) -- lfd fp17,((JB_FPRS+3*2)*4)(r3) - lwz r18,((JB_GPRS+4)*4)(r3) -- lfd fp18,((JB_FPRS+4*2)*4)(r3) - lwz r19,((JB_GPRS+5)*4)(r3) -- lfd fp19,((JB_FPRS+5*2)*4)(r3) - lwz r20,((JB_GPRS+6)*4)(r3) -- lfd fp20,((JB_FPRS+6*2)*4)(r3) - mtlr r0 - lwz r21,((JB_GPRS+7)*4)(r3) -- lfd fp21,((JB_FPRS+7*2)*4)(r3) - lwz r22,((JB_GPRS+8)*4)(r3) -- lfd fp22,((JB_FPRS+8*2)*4)(r3) - lwz r0,(JB_CR*4)(r3) - lwz r23,((JB_GPRS+9)*4)(r3) -- lfd fp23,((JB_FPRS+9*2)*4)(r3) - lwz r24,((JB_GPRS+10)*4)(r3) -- lfd fp24,((JB_FPRS+10*2)*4)(r3) - lwz r25,((JB_GPRS+11)*4)(r3) -- lfd fp25,((JB_FPRS+11*2)*4)(r3) - mtcrf 0xFF,r0 - lwz r26,((JB_GPRS+12)*4)(r3) -- lfd fp26,((JB_FPRS+12*2)*4)(r3) - lwz r27,((JB_GPRS+13)*4)(r3) -- lfd fp27,((JB_FPRS+13*2)*4)(r3) - lwz r28,((JB_GPRS+14)*4)(r3) -- lfd fp28,((JB_FPRS+14*2)*4)(r3) - lwz r29,((JB_GPRS+15)*4)(r3) -- lfd fp29,((JB_FPRS+15*2)*4)(r3) - lwz r30,((JB_GPRS+16)*4)(r3) -- lfd fp30,((JB_FPRS+16*2)*4)(r3) - lwz r31,((JB_GPRS+17)*4)(r3) -- lfd fp31,((JB_FPRS+17*2)*4)(r3) - mr r3,r4 - blr - END (BP_SYM (__longjmp)) -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/bits/setjmp.h glibc-2.2.5/sysdeps/powerpc/bits/setjmp.h ---- glibc-2.2.5.old/sysdeps/powerpc/bits/setjmp.h Thu Jul 5 21:56:01 2001 -+++ glibc-2.2.5/sysdeps/powerpc/bits/setjmp.h Thu Jul 10 11:43:17 2003 -@@ -17,6 +17,7 @@ - 02111-1307 USA. */ - - /* Define the machine-dependent type `jmp_buf'. PowerPC version. */ -+/* For processors without floating point. */ - - #ifndef _SETJMP_H - # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." -@@ -33,12 +34,11 @@ - # define JB_LR 2 /* The address we will return to */ - # define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */ - # define JB_CR 21 /* Condition code registers. */ --# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */ --# define JB_SIZE (58*4) -+# define JB_SIZE (22*4) - #endif - - #ifndef _ASM --typedef long int __jmp_buf[58]; -+typedef long int __jmp_buf[22]; - #endif - - /* Test if longjmp to JMPBUF would unwind the frame -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fclrexcpt.c glibc-2.2.5/sysdeps/powerpc/fclrexcpt.c ---- glibc-2.2.5.old/sysdeps/powerpc/fclrexcpt.c Thu Jul 5 21:56:01 2001 -+++ glibc-2.2.5/sysdeps/powerpc/fclrexcpt.c Wed Dec 31 16:00:00 1969 -@@ -1,48 +0,0 @@ --/* Clear given exceptions in current floating-point environment. -- Copyright (C) 1997,99,2000,01 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. */ -- --#include <fenv_libc.h> -- --#undef feclearexcept --int --__feclearexcept (int excepts) --{ -- fenv_union_t u; -- -- /* Get the current state. */ -- u.fenv = fegetenv_register (); -- -- /* Clear the relevant bits. */ -- u.l[1] = u.l[1] & ~((-(excepts >> (31 - FPSCR_VX) & 1) & FE_ALL_INVALID) -- | (excepts & FPSCR_STICKY_BITS)); -- -- /* Put the new state in effect. */ -- fesetenv_register (u.fenv); -- -- /* Success. */ -- return 0; --} -- --#include <shlib-compat.h> --#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) --strong_alias (__feclearexcept, __old_feclearexcept) --compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1); --#endif -- --versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2); -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fe_nomask.c glibc-2.2.5/sysdeps/powerpc/fe_nomask.c ---- glibc-2.2.5.old/sysdeps/powerpc/fe_nomask.c Thu Jul 5 21:56:01 2001 -+++ glibc-2.2.5/sysdeps/powerpc/fe_nomask.c Wed Dec 31 16:00:00 1969 -@@ -1,32 +0,0 @@ --/* Procedure definition for FE_NOMASK_ENV. -- Copyright (C) 1997 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. */ -- --#include <fenv.h> --#include <errno.h> -- --/* This is presently a stub, until it's decided how the kernels should -- support this. */ -- --const fenv_t * --__fe_nomask_env(void) --{ -- __set_errno (ENOSYS); -- return FE_ENABLED_ENV; --} --stub_warning (__fe_nomask_env) -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fprrest.S glibc-2.2.5/sysdeps/powerpc/fprrest.S ---- glibc-2.2.5.old/sysdeps/powerpc/fprrest.S Thu Jul 5 21:56:01 2001 -+++ glibc-2.2.5/sysdeps/powerpc/fprrest.S Wed Dec 31 16:00:00 1969 -@@ -1,94 +0,0 @@ --/* Copyright (C) 2000, 2001 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. */ -- --/* -- Floating Point Registers (FPRs) restore routine --*/ -- --#include <sysdep.h> -- --ENTRY(_restfpr_all) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_14) --C_TEXT(_restf14): --C_TEXT(_restfpr_14): lfd fp14,-144(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_15) --C_TEXT(_restf15): --C_TEXT(_restfpr_15): lfd fp15,-136(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_16) --C_TEXT(_restf16): --C_TEXT(_restfpr_16): lfd fp16,-128(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_17) --C_TEXT(_restf17): --C_TEXT(_restfpr_17): lfd fp17,-120(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_18) --C_TEXT(_restf18): --C_TEXT(_restfpr_18): lfd fp18,-112(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_19) --C_TEXT(_restf19): --C_TEXT(_restfpr_19): lfd fp19,-104(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_20) --C_TEXT(_restf20): --C_TEXT(_restfpr_20): lfd fp20,-96(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_21) --C_TEXT(_restf21): --C_TEXT(_restfpr_21): lfd fp21,-88(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_22) --C_TEXT(_restf22): --C_TEXT(_restfpr_22): lfd fp22,-80(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_23) --C_TEXT(_restf23): --C_TEXT(_restfpr_23): lfd fp23,-72(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_24) --C_TEXT(_restf24): --C_TEXT(_restfpr_24): lfd fp24,-64(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_25) --C_TEXT(_restf25): --C_TEXT(_restfpr_25): lfd fp25,-56(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_26) --C_TEXT(_restf26): --C_TEXT(_restfpr_26): lfd fp26,-48(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_27) --C_TEXT(_restf27): --C_TEXT(_restfpr_27): lfd fp27,-40(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_28) --C_TEXT(_restf28): --C_TEXT(_restfpr_28): lfd fp28,-32(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_29) --C_TEXT(_restf29): --C_TEXT(_restfpr_29): lwz r0,8(r1) #get return address from frame -- lfd fp29,-24(r1) #restore f29 -- mtlr r0 #move return address to LR -- lfd fp30,-16(r1) #restore f30 -- lfd fp31,-8(r1) #restore f31 -- blr #return -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fprsave.S glibc-2.2.5/sysdeps/powerpc/fprsave.S ---- glibc-2.2.5.old/sysdeps/powerpc/fprsave.S Thu Jul 5 21:56:01 2001 -+++ glibc-2.2.5/sysdeps/powerpc/fprsave.S Wed Dec 31 16:00:00 1969 -@@ -1,93 +0,0 @@ --/* Copyright (C) 2000, 2001 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. */ -- --/* -- Floating Point Registers (FPRs) save routine --*/ -- --#include <sysdep.h> -- --ENTRY(_savefpr_all) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14) --C_TEXT(_savef14): --C_TEXT(_savefpr_14): stfd fp14,-144(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15) --C_TEXT(_savef15): --C_TEXT(_savefpr_15): stfd fp15,-136(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16) --C_TEXT(_savef16): --C_TEXT(_savefpr_16): stfd fp16,-128(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17) --C_TEXT(_savef17): --C_TEXT(_savefpr_17): stfd fp17,-120(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18) --C_TEXT(_savef18): --C_TEXT(_savefpr_18): stfd fp18,-112(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19) --C_TEXT(_savef19): --C_TEXT(_savefpr_19): stfd fp19,-104(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20) --C_TEXT(_savef20): --C_TEXT(_savefpr_20): stfd fp20,-96(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21) --C_TEXT(_savef21): --C_TEXT(_savefpr_21): stfd fp21,-88(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22) --C_TEXT(_savef22): --C_TEXT(_savefpr_22): stfd fp22,-80(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23) --C_TEXT(_savef23): --C_TEXT(_savefpr_23): stfd fp23,-72(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24) --C_TEXT(_savef24): --C_TEXT(_savefpr_24): stfd fp24,-64(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25) --C_TEXT(_savef25): --C_TEXT(_savefpr_25): stfd fp25,-56(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26) --C_TEXT(_savef26): --C_TEXT(_savefpr_26): stfd fp26,-48(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27) --C_TEXT(_savef27): --C_TEXT(_savefpr_27): stfd fp27,-40(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28) --C_TEXT(_savef28): --C_TEXT(_savefpr_28): stfd fp28,-32(r1) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29) -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29) --C_TEXT(_savef29): --C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29 -- stfd fp30,-16(r1) #save f30 -- stfd fp31,-8(r1) #save f31 -- stw r0,8(r1) #save LR in callers frame -- blr #return -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/Dist glibc-2.2.5/sysdeps/powerpc/fpu/Dist ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/Dist Wed Jan 26 17:48:02 2000 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/Dist Thu Jul 10 11:43:17 2003 -@@ -1,3 +1,6 @@ -+fe_nomask.c -+fprrest.S -+fprsave.S - fenv_const.c - fenv_libc.h - t_sqrt.c -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/Makefile glibc-2.2.5/sysdeps/powerpc/fpu/Makefile ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/Makefile Mon Oct 11 15:29:00 1999 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/Makefile Thu Jul 10 11:43:17 2003 -@@ -1,3 +1,7 @@ - ifeq ($(subdir),math) - libm-support += fenv_const fe_nomask t_sqrt - endif -+ -+ifeq ($(subdir),misc) -+sysdep_routines += fprsave fprrest -+endif -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/Versions glibc-2.2.5/sysdeps/powerpc/fpu/Versions ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/Versions Wed Dec 31 16:00:00 1969 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/Versions Thu Jul 10 11:43:17 2003 -@@ -0,0 +1,6 @@ -+libm { -+ GLIBC_2.1 { -+ # symbols used in macros from sysdeps/powerpc/bits/fenv.h -+ __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env; -+ } -+} -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/__longjmp.S glibc-2.2.5/sysdeps/powerpc/fpu/__longjmp.S ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/__longjmp.S Wed Dec 31 16:00:00 1969 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/__longjmp.S Thu Jul 10 11:43:17 2003 -@@ -0,0 +1,74 @@ -+/* longjmp for PowerPC. -+ Copyright (C) 1995, 1996, 1997, 1999, 2000 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 Library General Public License as -+ published by the Free Software Foundation; either version 2 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 -+ Library General Public License for more details. -+ -+ You should have received a copy of the GNU Library General Public -+ License along with the GNU C Library; see the file COPYING.LIB. If not, -+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. */ -+ -+#include <sysdep.h> -+#define _ASM -+#define _SETJMP_H -+#include <bits/setjmp.h> -+#include <bp-sym.h> -+#include <bp-asm.h> -+ -+ENTRY (BP_SYM (__longjmp)) -+ CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) -+ -+ lwz r1,(JB_GPR1*4)(r3) -+ lwz r2,(JB_GPR2*4)(r3) -+ lwz r0,(JB_LR*4)(r3) -+ lwz r14,((JB_GPRS+0)*4)(r3) -+ lfd fp14,((JB_FPRS+0*2)*4)(r3) -+ lwz r15,((JB_GPRS+1)*4)(r3) -+ lfd fp15,((JB_FPRS+1*2)*4)(r3) -+ lwz r16,((JB_GPRS+2)*4)(r3) -+ lfd fp16,((JB_FPRS+2*2)*4)(r3) -+ lwz r17,((JB_GPRS+3)*4)(r3) -+ lfd fp17,((JB_FPRS+3*2)*4)(r3) -+ lwz r18,((JB_GPRS+4)*4)(r3) -+ lfd fp18,((JB_FPRS+4*2)*4)(r3) -+ lwz r19,((JB_GPRS+5)*4)(r3) -+ lfd fp19,((JB_FPRS+5*2)*4)(r3) -+ lwz r20,((JB_GPRS+6)*4)(r3) -+ lfd fp20,((JB_FPRS+6*2)*4)(r3) -+ mtlr r0 -+ lwz r21,((JB_GPRS+7)*4)(r3) -+ lfd fp21,((JB_FPRS+7*2)*4)(r3) -+ lwz r22,((JB_GPRS+8)*4)(r3) -+ lfd fp22,((JB_FPRS+8*2)*4)(r3) -+ lwz r0,(JB_CR*4)(r3) -+ lwz r23,((JB_GPRS+9)*4)(r3) -+ lfd fp23,((JB_FPRS+9*2)*4)(r3) -+ lwz r24,((JB_GPRS+10)*4)(r3) -+ lfd fp24,((JB_FPRS+10*2)*4)(r3) -+ lwz r25,((JB_GPRS+11)*4)(r3) -+ lfd fp25,((JB_FPRS+11*2)*4)(r3) -+ mtcrf 0xFF,r0 -+ lwz r26,((JB_GPRS+12)*4)(r3) -+ lfd fp26,((JB_FPRS+12*2)*4)(r3) -+ lwz r27,((JB_GPRS+13)*4)(r3) -+ lfd fp27,((JB_FPRS+13*2)*4)(r3) -+ lwz r28,((JB_GPRS+14)*4)(r3) -+ lfd fp28,((JB_FPRS+14*2)*4)(r3) -+ lwz r29,((JB_GPRS+15)*4)(r3) -+ lfd fp29,((JB_FPRS+15*2)*4)(r3) -+ lwz r30,((JB_GPRS+16)*4)(r3) -+ lfd fp30,((JB_FPRS+16*2)*4)(r3) -+ lwz r31,((JB_GPRS+17)*4)(r3) -+ lfd fp31,((JB_FPRS+17*2)*4)(r3) -+ mr r3,r4 -+ blr -+END (BP_SYM (__longjmp)) -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/bits/setjmp.h glibc-2.2.5/sysdeps/powerpc/fpu/bits/setjmp.h ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/bits/setjmp.h Wed Dec 31 16:00:00 1969 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/bits/setjmp.h Thu Jul 10 11:43:17 2003 -@@ -0,0 +1,47 @@ -+/* Copyright (C) 1997, 1998, 2000 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 Library General Public License as -+ published by the Free Software Foundation; either version 2 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 -+ Library General Public License for more details. -+ -+ You should have received a copy of the GNU Library General Public -+ License along with the GNU C Library; see the file COPYING.LIB. If not, -+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. */ -+ -+/* Define the machine-dependent type `jmp_buf'. PowerPC version. */ -+ -+#ifndef _SETJMP_H -+# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." -+#endif -+ -+/* The previous bits/setjmp.h had __jmp_buf defined as a structure. -+ We use an array of 'long int' instead, to make writing the -+ assembler easier. Naturally, user code should not depend on -+ either representation. */ -+ -+#if defined __USE_MISC || defined _ASM -+# define JB_GPR1 0 /* Also known as the stack pointer */ -+# define JB_GPR2 1 -+# define JB_LR 2 /* The address we will return to */ -+# define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */ -+# define JB_CR 21 /* Condition code registers. */ -+# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */ -+# define JB_SIZE (58*4) -+#endif -+ -+#ifndef _ASM -+typedef long int __jmp_buf[58]; -+#endif -+ -+/* Test if longjmp to JMPBUF would unwind the frame -+ containing a local variable at ADDRESS. */ -+#define _JMPBUF_UNWINDS(jmpbuf, address) \ -+ ((void *) (address) < (void *) (jmpbuf)[JB_GPR1]) -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fclrexcpt.c glibc-2.2.5/sysdeps/powerpc/fpu/fclrexcpt.c ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fclrexcpt.c Wed Dec 31 16:00:00 1969 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fclrexcpt.c Thu Jul 5 21:56:01 2001 -@@ -0,0 +1,48 @@ -+/* Clear given exceptions in current floating-point environment. -+ Copyright (C) 1997,99,2000,01 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. */ -+ -+#include <fenv_libc.h> -+ -+#undef feclearexcept -+int -+__feclearexcept (int excepts) -+{ -+ fenv_union_t u; -+ -+ /* Get the current state. */ -+ u.fenv = fegetenv_register (); -+ -+ /* Clear the relevant bits. */ -+ u.l[1] = u.l[1] & ~((-(excepts >> (31 - FPSCR_VX) & 1) & FE_ALL_INVALID) -+ | (excepts & FPSCR_STICKY_BITS)); -+ -+ /* Put the new state in effect. */ -+ fesetenv_register (u.fenv); -+ -+ /* Success. */ -+ return 0; -+} -+ -+#include <shlib-compat.h> -+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) -+strong_alias (__feclearexcept, __old_feclearexcept) -+compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1); -+#endif -+ -+versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2); -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fe_nomask.c glibc-2.2.5/sysdeps/powerpc/fpu/fe_nomask.c ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fe_nomask.c Wed Dec 31 16:00:00 1969 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fe_nomask.c Thu Jul 5 21:56:01 2001 -@@ -0,0 +1,32 @@ -+/* Procedure definition for FE_NOMASK_ENV. -+ Copyright (C) 1997 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. */ -+ -+#include <fenv.h> -+#include <errno.h> -+ -+/* This is presently a stub, until it's decided how the kernels should -+ support this. */ -+ -+const fenv_t * -+__fe_nomask_env(void) -+{ -+ __set_errno (ENOSYS); -+ return FE_ENABLED_ENV; -+} -+stub_warning (__fe_nomask_env) -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fprrest.S glibc-2.2.5/sysdeps/powerpc/fpu/fprrest.S ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fprrest.S Wed Dec 31 16:00:00 1969 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fprrest.S Thu Jul 5 21:56:01 2001 -@@ -0,0 +1,94 @@ -+/* Copyright (C) 2000, 2001 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. */ -+ -+/* -+ Floating Point Registers (FPRs) restore routine -+*/ -+ -+#include <sysdep.h> -+ -+ENTRY(_restfpr_all) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_14) -+C_TEXT(_restf14): -+C_TEXT(_restfpr_14): lfd fp14,-144(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_15) -+C_TEXT(_restf15): -+C_TEXT(_restfpr_15): lfd fp15,-136(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_16) -+C_TEXT(_restf16): -+C_TEXT(_restfpr_16): lfd fp16,-128(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_17) -+C_TEXT(_restf17): -+C_TEXT(_restfpr_17): lfd fp17,-120(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_18) -+C_TEXT(_restf18): -+C_TEXT(_restfpr_18): lfd fp18,-112(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_19) -+C_TEXT(_restf19): -+C_TEXT(_restfpr_19): lfd fp19,-104(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_20) -+C_TEXT(_restf20): -+C_TEXT(_restfpr_20): lfd fp20,-96(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_21) -+C_TEXT(_restf21): -+C_TEXT(_restfpr_21): lfd fp21,-88(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_22) -+C_TEXT(_restf22): -+C_TEXT(_restfpr_22): lfd fp22,-80(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_23) -+C_TEXT(_restf23): -+C_TEXT(_restfpr_23): lfd fp23,-72(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_24) -+C_TEXT(_restf24): -+C_TEXT(_restfpr_24): lfd fp24,-64(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_25) -+C_TEXT(_restf25): -+C_TEXT(_restfpr_25): lfd fp25,-56(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_26) -+C_TEXT(_restf26): -+C_TEXT(_restfpr_26): lfd fp26,-48(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_27) -+C_TEXT(_restf27): -+C_TEXT(_restfpr_27): lfd fp27,-40(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_28) -+C_TEXT(_restf28): -+C_TEXT(_restfpr_28): lfd fp28,-32(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_29) -+C_TEXT(_restf29): -+C_TEXT(_restfpr_29): lwz r0,8(r1) #get return address from frame -+ lfd fp29,-24(r1) #restore f29 -+ mtlr r0 #move return address to LR -+ lfd fp30,-16(r1) #restore f30 -+ lfd fp31,-8(r1) #restore f31 -+ blr #return -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fprsave.S glibc-2.2.5/sysdeps/powerpc/fpu/fprsave.S ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fprsave.S Wed Dec 31 16:00:00 1969 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fprsave.S Thu Jul 5 21:56:01 2001 -@@ -0,0 +1,93 @@ -+/* Copyright (C) 2000, 2001 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. */ -+ -+/* -+ Floating Point Registers (FPRs) save routine -+*/ -+ -+#include <sysdep.h> -+ -+ENTRY(_savefpr_all) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14) -+C_TEXT(_savef14): -+C_TEXT(_savefpr_14): stfd fp14,-144(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15) -+C_TEXT(_savef15): -+C_TEXT(_savefpr_15): stfd fp15,-136(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16) -+C_TEXT(_savef16): -+C_TEXT(_savefpr_16): stfd fp16,-128(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17) -+C_TEXT(_savef17): -+C_TEXT(_savefpr_17): stfd fp17,-120(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18) -+C_TEXT(_savef18): -+C_TEXT(_savefpr_18): stfd fp18,-112(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19) -+C_TEXT(_savef19): -+C_TEXT(_savefpr_19): stfd fp19,-104(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20) -+C_TEXT(_savef20): -+C_TEXT(_savefpr_20): stfd fp20,-96(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21) -+C_TEXT(_savef21): -+C_TEXT(_savefpr_21): stfd fp21,-88(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22) -+C_TEXT(_savef22): -+C_TEXT(_savefpr_22): stfd fp22,-80(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23) -+C_TEXT(_savef23): -+C_TEXT(_savefpr_23): stfd fp23,-72(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24) -+C_TEXT(_savef24): -+C_TEXT(_savefpr_24): stfd fp24,-64(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25) -+C_TEXT(_savef25): -+C_TEXT(_savefpr_25): stfd fp25,-56(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26) -+C_TEXT(_savef26): -+C_TEXT(_savefpr_26): stfd fp26,-48(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27) -+C_TEXT(_savef27): -+C_TEXT(_savefpr_27): stfd fp27,-40(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28) -+C_TEXT(_savef28): -+C_TEXT(_savefpr_28): stfd fp28,-32(r1) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29) -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29) -+C_TEXT(_savef29): -+C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29 -+ stfd fp30,-16(r1) #save f30 -+ stfd fp31,-8(r1) #save f31 -+ stw r0,8(r1) #save LR in callers frame -+ blr #return -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fpu_control.h glibc-2.2.5/sysdeps/powerpc/fpu/fpu_control.h ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fpu_control.h Wed Dec 31 16:00:00 1969 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fpu_control.h Thu Jul 5 21:56:01 2001 -@@ -0,0 +1,67 @@ -+/* FPU control word definitions. PowerPC version. -+ Copyright (C) 1996, 1997, 1998 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. */ -+ -+#ifndef _FPU_CONTROL_H -+#define _FPU_CONTROL_H -+ -+/* rounding control */ -+#define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ -+#define _FPU_RC_DOWN 0x03 -+#define _FPU_RC_UP 0x02 -+#define _FPU_RC_ZERO 0x01 -+ -+#define _FPU_MASK_NI 0x04 /* non-ieee mode */ -+ -+/* masking of interrupts */ -+#define _FPU_MASK_ZM 0x10 /* zero divide */ -+#define _FPU_MASK_OM 0x40 /* overflow */ -+#define _FPU_MASK_UM 0x20 /* underflow */ -+#define _FPU_MASK_XM 0x08 /* inexact */ -+#define _FPU_MASK_IM 0x80 /* invalid operation */ -+ -+#define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */ -+ -+/* The fdlibm code requires no interrupts for exceptions. */ -+#define _FPU_DEFAULT 0x00000000 /* Default value. */ -+ -+/* IEEE: same as above, but (some) exceptions; -+ we leave the 'inexact' exception off. -+ */ -+#define _FPU_IEEE 0x000000f0 -+ -+/* Type of the control word. */ -+typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); -+ -+/* Macros for accessing the hardware control word. */ -+#define _FPU_GETCW(cw) ( { \ -+ union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \ -+ __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0"); \ -+ (cw)=tmp.cw[1]; \ -+ tmp.cw[1]; } ) -+#define _FPU_SETCW(cw) { \ -+ union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \ -+ tmp.cw[0] = 0xFFF80000; /* More-or-less arbitrary; this is a QNaN. */ \ -+ tmp.cw[1] = cw; \ -+ __asm__ ("lfd%U0 0,%0; mtfsf 255,0" : : "m" (tmp.d) : "fr0"); \ -+} -+ -+/* Default control word set at startup. */ -+extern fpu_control_t __fpu_control; -+ -+#endif /* _FPU_CONTROL_H */ -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/setjmp.S glibc-2.2.5/sysdeps/powerpc/fpu/setjmp.S ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/setjmp.S Wed Dec 31 16:00:00 1969 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/setjmp.S Thu Jul 10 11:43:44 2003 -@@ -0,0 +1,73 @@ -+/* setjmp for PowerPC. -+ Copyright (C) 1995, 1996, 1997, 1999, 2000 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 Library General Public License as -+ published by the Free Software Foundation; either version 2 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 -+ Library General Public License for more details. -+ -+ You should have received a copy of the GNU Library General Public -+ License along with the GNU C Library; see the file COPYING.LIB. If not, -+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. */ -+ -+#include <sysdep.h> -+#define _ASM -+#define _SETJMP_H -+#include <bits/setjmp.h> -+#include <bp-sym.h> -+#include <bp-asm.h> -+ -+ENTRY (BP_SYM (__sigsetjmp)) -+ CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) -+ -+ stw r1,(JB_GPR1*4)(3) -+ mflr r0 -+ stw r2,(JB_GPR2*4)(3) -+ stw r14,((JB_GPRS+0)*4)(3) -+ stfd fp14,((JB_FPRS+0*2)*4)(3) -+ stw r0,(JB_LR*4)(3) -+ stw r15,((JB_GPRS+1)*4)(3) -+ stfd fp15,((JB_FPRS+1*2)*4)(3) -+ mfcr r0 -+ stw r16,((JB_GPRS+2)*4)(3) -+ stfd fp16,((JB_FPRS+2*2)*4)(3) -+ stw r0,(JB_CR*4)(3) -+ stw r17,((JB_GPRS+3)*4)(3) -+ stfd fp17,((JB_FPRS+3*2)*4)(3) -+ stw r18,((JB_GPRS+4)*4)(3) -+ stfd fp18,((JB_FPRS+4*2)*4)(3) -+ stw r19,((JB_GPRS+5)*4)(3) -+ stfd fp19,((JB_FPRS+5*2)*4)(3) -+ stw r20,((JB_GPRS+6)*4)(3) -+ stfd fp20,((JB_FPRS+6*2)*4)(3) -+ stw r21,((JB_GPRS+7)*4)(3) -+ stfd fp21,((JB_FPRS+7*2)*4)(3) -+ stw r22,((JB_GPRS+8)*4)(3) -+ stfd fp22,((JB_FPRS+8*2)*4)(3) -+ stw r23,((JB_GPRS+9)*4)(3) -+ stfd fp23,((JB_FPRS+9*2)*4)(3) -+ stw r24,((JB_GPRS+10)*4)(3) -+ stfd fp24,((JB_FPRS+10*2)*4)(3) -+ stw r25,((JB_GPRS+11)*4)(3) -+ stfd fp25,((JB_FPRS+11*2)*4)(3) -+ stw r26,((JB_GPRS+12)*4)(3) -+ stfd fp26,((JB_FPRS+12*2)*4)(3) -+ stw r27,((JB_GPRS+13)*4)(3) -+ stfd fp27,((JB_FPRS+13*2)*4)(3) -+ stw r28,((JB_GPRS+14)*4)(3) -+ stfd fp28,((JB_FPRS+14*2)*4)(3) -+ stw r29,((JB_GPRS+15)*4)(3) -+ stfd fp29,((JB_FPRS+15*2)*4)(3) -+ stw r30,((JB_GPRS+16)*4)(3) -+ stfd fp30,((JB_FPRS+16*2)*4)(3) -+ stw r31,((JB_GPRS+17)*4)(3) -+ stfd fp31,((JB_FPRS+17*2)*4)(3) -+ b JUMPTARGET (BP_SYM (__sigjmp_save)) -+END (BP_SYM (__sigsetjmp)) -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu_control.h glibc-2.2.5/sysdeps/powerpc/fpu_control.h ---- glibc-2.2.5.old/sysdeps/powerpc/fpu_control.h Thu Jul 5 21:56:01 2001 -+++ glibc-2.2.5/sysdeps/powerpc/fpu_control.h Wed Dec 31 16:00:00 1969 -@@ -1,67 +0,0 @@ --/* FPU control word definitions. PowerPC version. -- Copyright (C) 1996, 1997, 1998 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. */ -- --#ifndef _FPU_CONTROL_H --#define _FPU_CONTROL_H -- --/* rounding control */ --#define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ --#define _FPU_RC_DOWN 0x03 --#define _FPU_RC_UP 0x02 --#define _FPU_RC_ZERO 0x01 -- --#define _FPU_MASK_NI 0x04 /* non-ieee mode */ -- --/* masking of interrupts */ --#define _FPU_MASK_ZM 0x10 /* zero divide */ --#define _FPU_MASK_OM 0x40 /* overflow */ --#define _FPU_MASK_UM 0x20 /* underflow */ --#define _FPU_MASK_XM 0x08 /* inexact */ --#define _FPU_MASK_IM 0x80 /* invalid operation */ -- --#define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */ -- --/* The fdlibm code requires no interrupts for exceptions. */ --#define _FPU_DEFAULT 0x00000000 /* Default value. */ -- --/* IEEE: same as above, but (some) exceptions; -- we leave the 'inexact' exception off. -- */ --#define _FPU_IEEE 0x000000f0 -- --/* Type of the control word. */ --typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); -- --/* Macros for accessing the hardware control word. */ --#define _FPU_GETCW(cw) ( { \ -- union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \ -- __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0"); \ -- (cw)=tmp.cw[1]; \ -- tmp.cw[1]; } ) --#define _FPU_SETCW(cw) { \ -- union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \ -- tmp.cw[0] = 0xFFF80000; /* More-or-less arbitrary; this is a QNaN. */ \ -- tmp.cw[1] = cw; \ -- __asm__ ("lfd%U0 0,%0; mtfsf 255,0" : : "m" (tmp.d) : "fr0"); \ --} -- --/* Default control word set at startup. */ --extern fpu_control_t __fpu_control; -- --#endif /* _FPU_CONTROL_H */ -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/setjmp.S glibc-2.2.5/sysdeps/powerpc/setjmp.S ---- glibc-2.2.5.old/sysdeps/powerpc/setjmp.S Thu Jul 5 21:56:01 2001 -+++ glibc-2.2.5/sysdeps/powerpc/setjmp.S Thu Jul 10 11:43:44 2003 -@@ -24,6 +24,8 @@ - #include <bp-sym.h> - #include <bp-asm.h> - -+/* The FPU stores have been removed from this file - see fpu/setjmp.S */ -+ - ENTRY (BP_SYM (__sigsetjmp)) - CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) - -@@ -31,43 +33,25 @@ - mflr r0 - stw r2,(JB_GPR2*4)(3) - stw r14,((JB_GPRS+0)*4)(3) -- stfd fp14,((JB_FPRS+0*2)*4)(3) - stw r0,(JB_LR*4)(3) - stw r15,((JB_GPRS+1)*4)(3) -- stfd fp15,((JB_FPRS+1*2)*4)(3) - mfcr r0 - stw r16,((JB_GPRS+2)*4)(3) -- stfd fp16,((JB_FPRS+2*2)*4)(3) - stw r0,(JB_CR*4)(3) - stw r17,((JB_GPRS+3)*4)(3) -- stfd fp17,((JB_FPRS+3*2)*4)(3) - stw r18,((JB_GPRS+4)*4)(3) -- stfd fp18,((JB_FPRS+4*2)*4)(3) - stw r19,((JB_GPRS+5)*4)(3) -- stfd fp19,((JB_FPRS+5*2)*4)(3) - stw r20,((JB_GPRS+6)*4)(3) -- stfd fp20,((JB_FPRS+6*2)*4)(3) - stw r21,((JB_GPRS+7)*4)(3) -- stfd fp21,((JB_FPRS+7*2)*4)(3) - stw r22,((JB_GPRS+8)*4)(3) -- stfd fp22,((JB_FPRS+8*2)*4)(3) - stw r23,((JB_GPRS+9)*4)(3) -- stfd fp23,((JB_FPRS+9*2)*4)(3) - stw r24,((JB_GPRS+10)*4)(3) -- stfd fp24,((JB_FPRS+10*2)*4)(3) - stw r25,((JB_GPRS+11)*4)(3) -- stfd fp25,((JB_FPRS+11*2)*4)(3) - stw r26,((JB_GPRS+12)*4)(3) -- stfd fp26,((JB_FPRS+12*2)*4)(3) - stw r27,((JB_GPRS+13)*4)(3) -- stfd fp27,((JB_FPRS+13*2)*4)(3) - stw r28,((JB_GPRS+14)*4)(3) -- stfd fp28,((JB_FPRS+14*2)*4)(3) - stw r29,((JB_GPRS+15)*4)(3) -- stfd fp29,((JB_FPRS+15*2)*4)(3) - stw r30,((JB_GPRS+16)*4)(3) -- stfd fp30,((JB_FPRS+16*2)*4)(3) - stw r31,((JB_GPRS+17)*4)(3) -- stfd fp31,((JB_FPRS+17*2)*4)(3) - b JUMPTARGET (BP_SYM (__sigjmp_save)) - END (BP_SYM (__sigsetjmp)) diff --git a/patches/glibc/2.2.5/glibc-2.2.5-i386-pwrite64.patch b/patches/glibc/2.2.5/glibc-2.2.5-i386-pwrite64.patch deleted file mode 100644 index 761771f..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-i386-pwrite64.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -urN glibc-2.2.5-orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.2.5/sysdeps/unix/sysv/linux/i386/sysdep.h ---- glibc-2.2.5-orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2001-07-06 06:56:16.000000000 +0200 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/i386/sysdep.h 2004-09-03 12:35:44.000000000 +0200 -@@ -36,6 +36,16 @@ - #undef L - #define L(name) .L##name - -+/* This is a kludge to make syscalls.list find these under the names -+ * pread and pwrite, since some kernel headers define those names -+ * and some define the *64 names for the same system calls. */ -+#if !defined __NR_pread && defined __NR_pread64 -+# define __NR_pread __NR_pread64 -+#endif -+#if !defined __NR_pwrite && defined __NR_pwrite64 -+# define __NR_pwrite __NR_pwrite64 -+#endif -+ - #ifdef __ASSEMBLER__ - - /* Linux uses a negative return value to indicate syscall errors, diff --git a/patches/glibc/2.2.5/glibc-2.2.5-m68k-pwrite.patch b/patches/glibc/2.2.5/glibc-2.2.5-m68k-pwrite.patch deleted file mode 100644 index eefc6fa..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-m68k-pwrite.patch +++ /dev/null @@ -1,32 +0,0 @@ -Copied from similar patch for other architectures. - -Should fix this error: -../sysdeps/unix/sysv/linux/pread.c: In function `__libc_pread': -../sysdeps/unix/sysv/linux/pread.c:53: `__NR_pread' undeclared (first use in this function) -../sysdeps/unix/sysv/linux/pread.c:53: (Each undeclared identifier is reported only once -../sysdeps/unix/sysv/linux/pread.c:53: for each function it appears in.) -make[2]: *** [/home/dank/wk/crosstool-0.28-rc37/build/m68k-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.5/build-glibc/posix/pread.o] Error 1 -make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc37/build/m68k-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.5/glibc-2.2.5/posix' -make[1]: *** [posix/subdir_lib] Error 2 -make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc37/build/m68k-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.5/glibc-2.2.5' -make: *** [all] Error 2 - ---- glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/sysdep.h.old 2004-10-05 08:37:37.000000000 -0700 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/sysdep.h 2004-10-05 08:38:22.000000000 -0700 -@@ -32,6 +32,16 @@ - # define SYS_ify(syscall_name) __NR_/**/syscall_name - #endif - -+/* This is a kludge to make syscalls.list find these under the names -+ pread and pwrite, since some kernel headers define those names -+ and some define the *64 names for the same system calls. */ -+#if !defined __NR_pread && defined __NR_pread64 -+# define __NR_pread __NR_pread64 -+#endif -+#if !defined __NR_pwrite && defined __NR_pwrite64 -+# define __NR_pwrite __NR_pwrite64 -+#endif -+ - #ifdef __ASSEMBLER__ - - /* Linux uses a negative return value to indicate syscall errors, unlike diff --git a/patches/glibc/2.2.5/glibc-2.2.5-mips-build-gmon.patch b/patches/glibc/2.2.5/glibc-2.2.5-mips-build-gmon.patch deleted file mode 100644 index a8267e6..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-mips-build-gmon.patch +++ /dev/null @@ -1,86 +0,0 @@ -From http://www.ltc.com/~brad/mips/glibc-2.2.5-mips-build-gmon.diff -See http://www.ltc.com/~brad/mips/mips-cross-toolchain.html - ---- glibc-2.2.5/sysdeps/mips/machine-gmon.h 2001-08-13 04:42:44.000000000 -0400 -+++ glibc-2.2.5/sysdeps/mips/machine-gmon.h 2002-09-25 17:10:59.000000000 -0400 -@@ -17,42 +17,52 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - --#define _MCOUNT_DECL static void __mcount -+#define _MCOUNT_DECL(frompc,selfpc) \ -+static void __attribute_used__ __mcount (u_long frompc, u_long selfpc) - - /* Call __mcount with our the return PC for our caller, - and the return PC our caller will return to. */ - #ifdef __PIC__ - #define CPLOAD ".cpload $25;" -+#define CPRESTORE ".cprestore 44\n\t" - #else - #define CPLOAD -+#define CPRESTORE - #endif - - #define MCOUNT asm(\ -- ".globl _mcount;" \ -- ".align 2;" \ -- ".type _mcount,@function;" \ -- "_mcount:;" \ -- ".set noreorder;" \ -- ".set noat;" \ -+ ".globl _mcount;\n\t" \ -+ ".align 2;\n\t" \ -+ ".type _mcount,@function;\n\t" \ -+ ".ent _mcount\n\t" \ -+ "_mcount:\n\t" \ -+ ".frame $sp,44,$31\n\t" \ -+ ".set noreorder;\n\t" \ -+ ".set noat;\n\t" \ - CPLOAD \ -- "sw $4,8($29);" \ -- "sw $5,12($29);" \ -- "sw $6,16($29);" \ -- "sw $7,20($29);" \ -- "sw $1,0($29);" \ -- "sw $31,4($29);" \ -- "move $5,$31;" \ -- "move $4,$1;" \ -- "jal __mcount;" \ -- "nop;" \ -- "lw $4,8($29);" \ -- "lw $5,12($29);" \ -- "lw $6,16($29);" \ -- "lw $7,20($29);" \ -- "lw $31,4($29);" \ -- "lw $1,0($29);" \ -- "addu $29,$29,8;" \ -- "j $31;" \ -- "move $31,$1;" \ -- ".set reorder;" \ -- ".set at"); -+ "subu $29,$29,48;\n\t" \ -+ CPRESTORE \ -+ "sw $4,24($29);\n\t" \ -+ "sw $5,28($29);\n\t" \ -+ "sw $6,32($29);\n\t" \ -+ "sw $7,36($29);\n\t" \ -+ "sw $2,40($29);\n\t" \ -+ "sw $1,16($29);\n\t" \ -+ "sw $31,20($29);\n\t" \ -+ "move $5,$31;\n\t" \ -+ "move $4,$1;\n\t" \ -+ "jal __mcount;\n\t" \ -+ "nop;\n\t" \ -+ "lw $4,24($29);\n\t" \ -+ "lw $5,28($29);\n\t" \ -+ "lw $6,32($29);\n\t" \ -+ "lw $7,36($29);\n\t" \ -+ "lw $2,40($29);\n\t" \ -+ "lw $31,20($29);\n\t" \ -+ "lw $1,16($29);\n\t" \ -+ "addu $29,$29,56;\n\t" \ -+ "j $31;\n\t" \ -+ "move $31,$1;\n\t" \ -+ ".set reorder;\n\t" \ -+ ".set at\n\t" \ -+ ".end _mcount"); diff --git a/patches/glibc/2.2.5/glibc-2.2.5-mips-clone-local-label.patch b/patches/glibc/2.2.5/glibc-2.2.5-mips-clone-local-label.patch deleted file mode 100644 index 66fee29..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-mips-clone-local-label.patch +++ /dev/null @@ -1,47 +0,0 @@ -This is a workaround for - -mipsel-unknown-linux-gnu-gcc ../sysdeps/unix/sysv/linux/mips/clone.S -c -I../include -I. -I/home3/dank/crosstool-0.7/build/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/misc -I.. -I../libio -I/home3/dank/crosstool-0.7/build/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc -I../sysdeps/mips/elf -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/mips -I../sysdeps/unix/sysv/linux/mips -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/mips -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/mips/mipsel -I../sysdeps/mips/fpu -I../sysdeps/mips -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /home3/dank/crosstool-0.7/result/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/mipsel-unknown-linux-gnu/3.2.3/include -isystem /home3/dank/crosstool-0.7/result/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/mipsel-unknown-linux-gnu/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DASSEMBLER -o /home3/dank/crosstool-0.7/build/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/misc/clone.o -../sysdeps/unix/sysv/linux/mips/clone.S: Assembler messages: -../sysdeps/unix/sysv/linux/mips/clone.S:66: Error: Can not represent BFD_RELOC_16_PCREL_S2 relocation in this object file format -make[2]: *** [/home3/dank/crosstool-0.7/build/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/misc/clone.o] Error 1 - -which was using h.j.lu's binutils-2.13.90.0.18. - - -But see http://lists.debian.org/debian-mips/2003/debian-mips-200305/msg00011.html -which says -"A newer version of binutils (CVS post 2003-03-12) fixes it without -the need of changing perfectly legal code." -So presumably this can be ditched sooner or later. - -From http://honk.physik.uni-konstanz.de/~agx/linux-mips/glibc/patches/applied/clone-local-label.diff - -2003-03-13 Guido Guenther <agx@sigxcpu.org> - - * sysdeps/unix/sysv/linux/mips/clone.S: introduce and use local label - .Lthread_start since current binutils don't allow branches to globally - visible symbols. - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/clone.S,v -retrieving revision 1.10 -diff -u -r1.10 clone.S ---- glibc-2.2.5/sysdeps/unix/sysv/linux/mips/clone.S 12 Mar 2003 01:04:51 -0000 1.10 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/mips/clone.S 12 Mar 2003 19:04:39 -0000 -@@ -63,7 +63,7 @@ - syscall - - bnez a3,error -- beqz v0,__thread_start -+ beqz v0,.Lthread_start - - /* Successful return from the parent */ - addiu sp,32 -@@ -85,6 +85,7 @@ - debug info. */ - - ENTRY(__thread_start) -+.Lthread_start: - /* cp is already loaded. */ - .cprestore 16 - /* The stackframe has been created on entry of clone(). */ diff --git a/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.56.patch b/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.56.patch deleted file mode 100644 index 4276eee..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.56.patch +++ /dev/null @@ -1,31 +0,0 @@ -wget http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/mips/dl-machine.h.diff?r1=1.55&r2=1.56&cvsroot=glibc - -Changelog: - (__dl_runtime_resolve): Remove `const' from `got'. - -Fixes error - -dl-runtime.c: In function `__dl_runtime_resolve': -dl-runtime.c:235: error: assignment of read-only location -make[2]: *** [/home/dank/crosstool-0.28-rc32/build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/build-glibc/elf/dl-runtime.o] Error 1 - -when building mipsel-gcc-3.4.0-glibc-2.2.5 - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/mips/dl-machine.h,v -retrieving revision 1.55 -retrieving revision 1.56 -diff -u -r1.55 -r1.56 ---- libc/sysdeps/mips/dl-machine.h 2001/09/08 17:16:44 1.55 -+++ libc/sysdeps/mips/dl-machine.h 2002/01/17 23:21:33 1.56 -@@ -276,8 +276,8 @@ - = (const void *) D_PTR (l, l_info[DT_SYMTAB]); \ - const char *strtab \ - = (const void *) D_PTR (l, l_info[DT_STRTAB]); \ -- const ElfW(Addr) *got \ -- = (const ElfW(Addr) *) D_PTR (l, l_info[DT_PLTGOT]); \ -+ ElfW(Addr) *got \ -+ = (ElfW(Addr) *) D_PTR (l, l_info[DT_PLTGOT]); \ - const ElfW(Word) local_gotno \ - = (const ElfW(Word)) l->l_info[DT_MIPS (LOCAL_GOTNO)]->d_un.d_val; \ - const ElfW(Word) gotsym \ diff --git a/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.57.patch b/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.57.patch deleted file mode 100644 index 129cffa..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.57.patch +++ /dev/null @@ -1,43 +0,0 @@ -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/mips/dl-machine.h.diff?r1=1.57&r2=1.58&cvsroot=glibc' - -ChangeLog: - (ELF_MACHINE_BEFORE_RTLD_RELOC): Don't use label at end of compound statement. - -Fixes error - -rtld.c: In function `_dl_start': -rtld.c:183: error: label at end of compound statement -make[2]: *** [/home/dank/wk/crosstool-0.28-rc32/build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/build-glibc/elf/rtld.os] Error 1 - - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/mips/dl-machine.h,v -retrieving revision 1.56 -retrieving revision 1.57 -diff -u -r1.56 -r1.57 ---- libc/sysdeps/mips/dl-machine.h 2002/01/17 23:21:33 1.56 -+++ libc/sysdeps/mips/dl-machine.h 2002/01/29 02:58:00 1.57 -@@ -1,5 +1,5 @@ - /* Machine-dependent ELF dynamic relocation inline functions. MIPS version. -- Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. -+ Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>. - -@@ -132,7 +132,7 @@ - got = (ElfW(Addr) *) D_PTR (map, l_info[DT_PLTGOT]); \ - \ - if (__builtin_expect (map->l_addr == 0, 1)) \ -- goto done; \ -+ break; \ - \ - /* got[0] is reserved. got[1] is also reserved for the dynamic object \ - generated by gnu ld. Skip these reserved entries from \ -@@ -169,7 +169,6 @@ - got++; \ - sym++; \ - } \ --done: \ - } while(0) - - diff --git a/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.59-kinda.patch b/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.59-kinda.patch deleted file mode 100644 index ef174c2..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.59-kinda.patch +++ /dev/null @@ -1,35 +0,0 @@ -Fixes error - -In file included from dynamic-link.h:21, - from dl-load.c:32: -../sysdeps/mips/dl-machine.h:454: error: parse error before "$29" -../sysdeps/mips/dl-machine.h:454: warning: type defaults to `int' in declaration of `$29' -../sysdeps/mips/dl-machine.h:454: error: stray '\' in program -../sysdeps/mips/dl-machine.h:454: error: syntax error at '#' token -../sysdeps/mips/dl-machine.h:454: error: stray '\' in program -../sysdeps/mips/dl-machine.h:454: error: stray '\' in program -../sysdeps/mips/dl-machine.h:454: error: syntax error at '#' token -../sysdeps/mips/dl-machine.h:454: error: stray '\' in program -../sysdeps/mips/dl-machine.h:454: error: stray '\' in program -../sysdeps/mips/dl-machine.h:454: error: stray '\' in program -../sysdeps/mips/dl-machine.h:454: error: stray '\' in program -../sysdeps/mips/dl-machine.h:454: error: missing terminating " character -... -make[2]: *** [/home/dank/wk/crosstool-0.28-rc24/build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/build-glibc/elf/dl-load.o] Error 1 -make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc24/build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/glibc-2.2.5/elf' - -See also http://sources.redhat.com/ml/crossgcc/2003-12/msg00014.html - -=================================================================== -diff -u -r1.58 -r1.59 ---- libc/sysdeps/mips/dl-machine.h 2002/02/01 01:31:55 1.58 -+++ libc/sysdeps/mips/dl-machine.h 2002/02/03 00:29:15 1.59 -@@ -449,7 +449,7 @@ - addu $7, $7, 4\n\ - subu $29, 16\n\ - # Call the function to run the initializers.\n\ -- jal _dl_init -+ jal _dl_init\n\ - addiu $29, 16\n\ - # Pass our finalizer function to the user in $2 as per ELF ABI.\n\ - la $2, _dl_fini\n\ diff --git a/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.60.patch b/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.60.patch deleted file mode 100644 index ea3e28c..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.60.patch +++ /dev/null @@ -1,53 +0,0 @@ -Message-ID: <20040926095115.9204.qmail@webmail-2-5.mesa1.secureserver.net> -Date: Sun, 26 Sep 2004 02:51:15 -0700 -From: ml@bitbash.net -Subject: RE: crosstool-0.28-rc36: ld.so.1 undefined reference -To: Dan Kegel <dank@kegel.com> -cc: crossgcc@sources.redhat.com - -gcc-3.4.0-glibc-2.2.5 barfs with a few undefined refereces and multiple -definitions. The follwing patch seems to take care of the undefined -reference of __dl_runtime_resolve symbol. - -Filename: patches/glibc-2.2.5/glibc-2.2.5-mips-dl-machine-1.60.patch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Retrieved with -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/mips/dl-machine.h.diff?r1=1.59&r2=1.60&cvsroot=glibc' -See http://sources.redhat.com/ml/libc-alpha/2002-02/msg00091.html -See also glibc-2.2.5-mips-build-gmon.patch, which takes care of the other part of this for mips. - -ChangeLog: - sysdeps/mips/dl-machine.h (elf_machine_matches_host): Use - __attribute_used__. - (__dl_runtime_resolve): Likewise. - -Fixes error - -/home/cross/crosstool-0.28-rc36/build/mips-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/build-glibc/elf/ld.so.1: -undefined reference to `__dl_runtime_resolve' - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/mips/dl-machine.h,v -retrieving revision 1.59 -retrieving revision 1.60 -diff -u -r1.59 -r1.60 ---- libc/sysdeps/mips/dl-machine.h 2002/02/03 00:29:15 1.59 -+++ libc/sysdeps/mips/dl-machine.h 2002/02/08 18:56:57 1.60 -@@ -69,7 +69,7 @@ - } while (0) - - /* Return nonzero iff ELF header is compatible with the running host. */ --static inline int __attribute__ ((unused)) -+static inline int __attribute_used__ - elf_machine_matches_host (const ElfW(Ehdr) *ehdr) - { - switch (ehdr->e_machine) -@@ -262,7 +262,7 @@ - /* This is called from assembly stubs below which the compiler can't see. */ \ - static ElfW(Addr) \ - __dl_runtime_resolve (ElfW(Word), ElfW(Word), ElfW(Addr), ElfW(Addr)) \ -- __attribute__ ((unused)); \ -+ __attribute_used__; \ - \ - static ElfW(Addr) \ - __dl_runtime_resolve (ElfW(Word) sym_index, \ diff --git a/patches/glibc/2.2.5/glibc-2.2.5-powerpc-as.patch b/patches/glibc/2.2.5/glibc-2.2.5-powerpc-as.patch deleted file mode 100644 index c070bd4..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-powerpc-as.patch +++ /dev/null @@ -1,29 +0,0 @@ -Based on glibc-2.3.2/glibc-2.3.2-powerpc-as.patch - -Fixes the following errors when building glibc for ppc7450: - -/tmp/ccwlHdbl.s: Assembler messages: -/tmp/ccwlHdbl.s:73: Error: Unrecognized opcode: `stvx' -/tmp/ccwlHdbl.s:74: Error: Unrecognized opcode: `mfvrsave' -/tmp/ccwlHdbl.s:300: Error: Unrecognized opcode: `lvx' -/tmp/ccwlHdbl.s:302: Error: Unrecognized opcode: `mtvrsave' -make[2]: *** [/usr/local/src/crosstool-0.28-rc34/build/powerpc-7450-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/libio/iopopen.o] Error 1 -make[2]: Leaving directory `/home/local/src/crosstool-0.28-rc34/build/powerpc-7450-linux-gnu/gcc-3.2.3-glibc-2.2.5/glibc-2.2.5/libio' -make[1]: *** [libio/subdir_lib] Error 2 -make[1]: Leaving directory `/home/local/src/crosstool-0.28-rc34/build/powerpc-7450-linux-gnu/gcc-3.2.3-glibc-2.2.5/glibc-2.2.5' -make: *** [all] Error 2 - -Contributed by Tom Warzeka <waz@quahog.npt.nuwc.navy.mil> - -=================================================================== ---- glibc-2.2.5/sysdeps/powerpc/Makefile~ 2004-08-31 14:59:15.000000000 -0400 -+++ glibc-2.2.5/sysdeps/powerpc/Makefile 2004-09-02 19:47:21.000000000 -0400 -@@ -1,7 +1,6 @@ - # We always want to use the new mnemonic syntax even if we are on a RS6000 - # machine. --+cflags += -mnew-mnemonics -Wa,-mppc -mpowerpc --asm-CPPFLAGS += -Wa,-mppc -++cflags += -mnew-mnemonics - - ifeq ($(subdir),gmon) - sysdep_routines += ppc-mcount diff --git a/patches/glibc/2.2.5/glibc-2.2.5-ppc405erratum77.patch b/patches/glibc/2.2.5/glibc-2.2.5-ppc405erratum77.patch deleted file mode 100644 index 2267f85..0000000 --- a/patches/glibc/2.2.5/glibc-2.2.5-ppc405erratum77.patch +++ /dev/null @@ -1,65 +0,0 @@ -# see http://bugs.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=4155 -# and http://www.kegel.com/xgcc3/ppc405erratum77.html -# See also matching patch for linuxthreads - -diff -aur glibc-2.2.5.orig/sysdeps/powerpc/atomicity.h glibc-2.2.5/sysdeps/powerpc/atomicity.h ---- glibc-2.2.5.orig/sysdeps/powerpc/atomicity.h Thu Jul 5 21:56:01 2001 -+++ glibc-2.2.5/sysdeps/powerpc/atomicity.h Tue Jul 23 05:39:38 2002 -@@ -28,6 +28,17 @@ - # define __ATOMICITY_INLINE inline - #endif - -+#ifdef __PPC405__ -+/* workaround for PPC405 erratum #77 - Mark Hatle, dank. References: -+ http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/89DED00DEBFF54BF87256A8000491BA2/$file/405CR_C_errata_1_2.pdf -+ http://ppc.bkbits.net:8080/linuxppc_2_4_devel/cset@1.489 -+ http://www.kegel.com/xgcc3/ppc405erratum77.html -+ FIXME: using dbct instead of sync would be faster */ -+#define __LIBC_PPC405_ERR77_SYNC "sync \n\t" -+#else -+#define __LIBC_PPC405_ERR77_SYNC -+#endif -+ - static __ATOMICITY_INLINE int - __attribute__ ((unused)) - exchange_and_add (volatile uint32_t *mem, int val) -@@ -36,6 +47,7 @@ - __asm__ ("\n\ - 0: lwarx %0,0,%2 \n\ - add%I3 %1,%0,%3 \n\ -+ " __LIBC_PPC405_ERR77_SYNC "\n\ - stwcx. %1,0,%2 \n\ - bne- 0b \n\ - " : "=&b"(result), "=&r"(tmp) : "r" (mem), "Ir"(val) : "cr0", "memory"); -@@ -50,6 +62,7 @@ - __asm__ ("\n\ - 0: lwarx %0,0,%1 \n\ - add%I2 %0,%0,%2 \n\ -+ " __LIBC_PPC405_ERR77_SYNC "\n\ - stwcx. %0,0,%1 \n\ - bne- 0b \n\ - " : "=&b"(tmp) : "r" (mem), "Ir"(val) : "cr0", "memory"); -@@ -65,6 +78,7 @@ - sub%I2c. %0,%0,%2 \n\ - cntlzw %0,%0 \n\ - bne- 1f \n\ -+ " __LIBC_PPC405_ERR77_SYNC "\n\ - stwcx. %3,0,%1 \n\ - bne- 0b \n\ - 1: \n\ -@@ -79,6 +93,7 @@ - long int result; - __asm__ ("\n\ - 0: lwarx %0,0,%1 \n\ -+ " __LIBC_PPC405_ERR77_SYNC "\n\ - stwcx. %2,0,%1 \n\ - bne- 0b \n\ - " : "=&r"(result) : "r"(p), "r"(newval) : "cr0", "memory"); -@@ -94,6 +109,7 @@ - 0: lwarx %0,0,%1 \n\ - cmpwi %0,0 \n\ - bne- 1f \n\ -+ " __LIBC_PPC405_ERR77_SYNC "\n\ - stwcx. %2,0,%1 \n\ - bne- 0b \n\ - 1: \n\ diff --git a/patches/glibc/2.2.5/glibc-2.3.2-allow-gcc-3.5-xdr.patch b/patches/glibc/2.2.5/glibc-2.3.2-allow-gcc-3.5-xdr.patch deleted file mode 100644 index 4d811e9..0000000 --- a/patches/glibc/2.2.5/glibc-2.3.2-allow-gcc-3.5-xdr.patch +++ /dev/null @@ -1,44 +0,0 @@ -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sunrpc/rpc/xdr.h.diff?r1=1.27&r2=1.28&cvsroot=glibc -(but see also http://sources.redhat.com/ml/libc-alpha/2004-03/msg00267.html -and http://gcc.gnu.org/ml/gcc-patches/2004-03/msg02056.html) - -Fixes errors - -rpc_cmsg.c: In function `xdr_callmsg': -rpc_cmsg.c:70: error: invalid lvalue in increment -rpc_cmsg.c:71: error: invalid lvalue in increment -rpc_cmsg.c:74: error: invalid lvalue in increment -rpc_cmsg.c:77: error: invalid lvalue in increment -rpc_cmsg.c:78: error: invalid lvalue in increment -rpc_cmsg.c:79: error: invalid lvalue in increment -rpc_cmsg.c:81: error: invalid lvalue in increment -rpc_cmsg.c:89: error: invalid lvalue in increment -rpc_cmsg.c:106: error: invalid lvalue in increment -rpc_cmsg.c:107: error: invalid lvalue in increment -rpc_cmsg.c:112: error: invalid lvalue in increment -rpc_cmsg.c:117: error: invalid lvalue in increment -rpc_cmsg.c:118: error: invalid lvalue in increment -rpc_cmsg.c:119: error: invalid lvalue in increment -rpc_cmsg.c:121: error: invalid lvalue in increment -rpc_cmsg.c:160: error: invalid lvalue in increment - -=================================================================== -RCS file: /cvs/glibc/libc/sunrpc/rpc/xdr.h,v -retrieving revision 1.27 -retrieving revision 1.28 -diff -u -r1.27 -r1.28 ---- libc/sunrpc/rpc/xdr.h 2002/12/16 02:05:49 1.27 -+++ libc/sunrpc/rpc/xdr.h 2004/03/22 10:52:33 1.28 -@@ -262,10 +262,8 @@ - * and shouldn't be used any longer. Code which use this defines or longs - * in the RPC code will not work on 64bit Solaris platforms ! - */ --#define IXDR_GET_LONG(buf) \ -- ((long)ntohl((u_long)*__extension__((u_int32_t*)(buf))++)) --#define IXDR_PUT_LONG(buf, v) \ -- (*__extension__((u_int32_t*)(buf))++ = (long)htonl((u_long)(v))) -+#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf)) -+#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v))) - #define IXDR_GET_U_LONG(buf) ((u_long)IXDR_GET_LONG(buf)) - #define IXDR_PUT_U_LONG(buf, v) IXDR_PUT_LONG(buf, (long)(v)) - diff --git a/patches/glibc/2.2.5/glibc-drow-sh.patch b/patches/glibc/2.2.5/glibc-drow-sh.patch deleted file mode 100644 index 82984e5..0000000 --- a/patches/glibc/2.2.5/glibc-drow-sh.patch +++ /dev/null @@ -1,77 +0,0 @@ -[pread changes deleted, since those seem to be specific to glibc-2.3.2] - -Date: Thu, 19 Jun 2003 20:02:07 -0400 -From: Daniel Jacobowitz <drow@false.org> -Subject: [linux-sh:02808] Patch needed for CVS glibc on SH -To: linux-sh@m17n.org, libc-alpha@sources.redhat.com -Message-Id: <20030620000207.GA19907@nevyn.them.org> -X-ML-Name: linux-sh -X-Mail-Count: 02808 -X-MLServer: fml [fml 4.0.1]; post only (only members can post) -X-ML-Info: If you have a question, send e-mail with the body - "help" (without quotes) to the address linux-sh-ctl@m17n.org; - help=<mailto:linux-sh-ctl@m17n.org?body=help> -Mail-Followup-To: linux-sh@m17n.org, libc-alpha@sources.redhat.com -Content-Disposition: inline -User-Agent: Mutt/1.5.1i -Mime-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Precedence: bulk -Lines: 74 -List-Software: fml [fml 4.0.1] -List-Post: <mailto:linux-sh@m17n.org> -List-Owner: <mailto:linux-sh-admin@m17n.org> -List-Help: <mailto:linux-sh-ctl@m17n.org?body=help> -List-Unsubscribe: <mailto:linux-sh-ctl@m17n.org?body=unsubscribe> -List-Id: linux-sh.m17n.org - -I believe this flushes my current patches to make glibc work on SH. Issues: - - MIPS pread functions have some wackiness in them for the MIPS calling - conventions, which align long longs to even register pairs; it appears - that SH does not do this. This fixes pread64/pwrite64. - - st_ino is _NOT_ 64-bit in the latest SH kernel trees, or at least it - wasn't when I checked in April. --enable-kernel=2.4.x breaks terribly - without this patch; the errors are along the lines of "version GLIBC_2.3 - not found", because that's the first consequence of a messed up inode - field - ld.so compares by inodes at some point. - --- -Daniel Jacobowitz -MontaVista Software Debian GNU/Linux Developer - -2003-06-19 Daniel Jacobowitz <drow@mvista.com> - - * sysdeps/unix/sysv/linux/kernel-features.h: Update kernel features - for the SH architecture. - * sysdeps/unix/sysv/linux/sh/pread.c: Use generic Linux version - instead of the MIPS version. - * sysdeps/unix/sysv/linux/sh/pread64.c: Likewise. - * sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise. - * sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise. - ---- glibc-2.3.2/sysdeps/unix/sysv/linux/kernel-features.h.org 2003-04-21 10:57:55.000000000 -0400 -+++ glibc-2.3.2/sysdeps/unix/sysv/linux/kernel-features.h 2003-04-21 11:16:47.000000000 -0400 -@@ -151,11 +151,20 @@ - - /* The changed st_ino field appeared in 2.4.0-test6. But we cannot - distinguish this version from other 2.4.0 releases. Therefore play -- save and assume it available is for 2.4.1 and up. */ --#if __LINUX_KERNEL_VERSION >= 132097 -+ save and assume it available is for 2.4.1 and up. However, SH is lame, -+ and still does not have a 64-bit inode field. */ -+#if __LINUX_KERNEL_VERSION >= 132097 \ -+ && !defined __sh__ - # define __ASSUME_ST_INO_64_BIT 1 - #endif - -+/* SH kernels got stat64, mmap2, and truncate64 during 2.4.0-test. */ -+#if __LINUX_KERNEL_VERSION >= 132096 && defined __sh__ -+# define __ASSUME_TRUNCATE64_SYSCALL 1 -+# define __ASSUME_MMAP2_SYSCALL 1 -+# define __ASSUME_STAT64_SYSCALL 1 -+#endif -+ - /* To support locking of large files a new fcntl() syscall was introduced - in 2.4.0-test7. We test for 2.4.1 for the earliest version we know - the syscall is available. */ - diff --git a/patches/glibc/2.2.5/glibc-test-lowram.patch b/patches/glibc/2.2.5/glibc-test-lowram.patch deleted file mode 100644 index 2308629..0000000 --- a/patches/glibc/2.2.5/glibc-test-lowram.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- glibc-2.2.5/malloc/tst-calloc.c.old Sun Aug 3 16:17:58 2003 -+++ glibc-2.2.5/malloc/tst-calloc.c Sun Aug 3 16:20:01 2003 -@@ -24,9 +24,8 @@ - #include <stdio.h> - - --/* Number of samples per size. */ --#define N 50000 -- -+/* Number of samples per size. This is also the maximum memory consumption in kilobytes. */ -+#define N 8000 - - static void - fixed_test (int size) diff --git a/patches/glibc/2.2.5/initfini-alpha.patch b/patches/glibc/2.2.5/initfini-alpha.patch deleted file mode 100644 index 49c4e67..0000000 --- a/patches/glibc/2.2.5/initfini-alpha.patch +++ /dev/null @@ -1,125 +0,0 @@ -Trivial fix to allow compiling with gcc3.3. - ---- glibc-2.2.5/sysdeps/alpha/elf/initfini.c.old Fri Jun 6 17:59:45 2003 -+++ glibc-2.2.5/sysdeps/alpha/elf/initfini.c Fri Jun 6 18:00:20 2003 -@@ -37,62 +37,62 @@ - files, all of which may have different GP values. So we must reload - the GP value from crti.o in crtn.o. */ - --__asm__ (" -- --#include \"defs.h\" -- --/*@HEADER_ENDS*/ -- --/*@_init_PROLOG_BEGINS*/ -- .section .init, \"ax\", @progbits -- .globl _init -- .ent _init --_init: -- ldgp $29, 0($27) -- subq $30, 16, $30 -- lda $27, __gmon_start__ -- stq $26, 0($30) -- stq $29, 8($30) -- .prologue 1 -- beq $27, 1f -- jsr $26, ($27), __gmon_start__ -- ldq $29, 8($30) --1: -- .align 3 -- .end _init -- .size _init, 0 --/*@_init_PROLOG_ENDS*/ -- --/*@_init_EPILOG_BEGINS*/ -- .section .init, \"ax\", @progbits -- ldq $26, 0($30) -- ldq $29, 8($30) -- addq $30, 16, $30 -- ret --/*@_init_EPILOG_ENDS*/ -- --/*@_fini_PROLOG_BEGINS*/ -- .section .fini, \"ax\", @progbits -- .globl _fini -- .ent _fini --_fini: -- ldgp $29, 0($27) -- subq $30, 16, $30 -- stq $26, 0($30) -- stq $29, 8($30) -- .prologue 1 -- .align 3 -- .end _fini -- .size _fini, 0 --/*@_fini_PROLOG_ENDS*/ -- --/*@_fini_EPILOG_BEGINS*/ -- .section .fini, \"ax\", @progbits -- ldq $26, 0($30) -- ldq $29, 8($30) -- addq $30, 16, $30 -- ret --/*@_fini_EPILOG_ENDS*/ -- --/*@TRAILER_BEGINS*/ -+__asm__ ("\n\ -+\n\ -+#include \"defs.h\"\n\ -+\n\ -+/*@HEADER_ENDS*/\n\ -+\n\ -+/*@_init_PROLOG_BEGINS*/\n\ -+ .section .init, \"ax\", @progbits\n\ -+ .globl _init\n\ -+ .ent _init\n\ -+_init:\n\ -+ ldgp $29, 0($27)\n\ -+ subq $30, 16, $30\n\ -+ lda $27, __gmon_start__\n\ -+ stq $26, 0($30)\n\ -+ stq $29, 8($30)\n\ -+ .prologue 1\n\ -+ beq $27, 1f\n\ -+ jsr $26, ($27), __gmon_start__\n\ -+ ldq $29, 8($30)\n\ -+1:\n\ -+ .align 3\n\ -+ .end _init\n\ -+ .size _init, 0\n\ -+/*@_init_PROLOG_ENDS*/\n\ -+\n\ -+/*@_init_EPILOG_BEGINS*/\n\ -+ .section .init, \"ax\", @progbits\n\ -+ ldq $26, 0($30)\n\ -+ ldq $29, 8($30)\n\ -+ addq $30, 16, $30\n\ -+ ret\n\ -+/*@_init_EPILOG_ENDS*/\n\ -+\n\ -+/*@_fini_PROLOG_BEGINS*/\n\ -+ .section .fini, \"ax\", @progbits\n\ -+ .globl _fini\n\ -+ .ent _fini\n\ -+_fini:\n\ -+ ldgp $29, 0($27)\n\ -+ subq $30, 16, $30\n\ -+ stq $26, 0($30)\n\ -+ stq $29, 8($30)\n\ -+ .prologue 1\n\ -+ .align 3\n\ -+ .end _fini\n\ -+ .size _fini, 0\n\ -+/*@_fini_PROLOG_ENDS*/\n\ -+\n\ -+/*@_fini_EPILOG_BEGINS*/\n\ -+ .section .fini, \"ax\", @progbits\n\ -+ ldq $26, 0($30)\n\ -+ ldq $29, 8($30)\n\ -+ addq $30, 16, $30\n\ -+ ret\n\ -+/*@_fini_EPILOG_ENDS*/\n\ -+\n\ -+/*@TRAILER_BEGINS*/\n\ - "); diff --git a/patches/glibc/2.2.5/initfini-ia64.patch b/patches/glibc/2.2.5/initfini-ia64.patch deleted file mode 100644 index a55a55a..0000000 --- a/patches/glibc/2.2.5/initfini-ia64.patch +++ /dev/null @@ -1,219 +0,0 @@ -Retrieved with -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/ia64/elf/initfini.c.diff?r1=1.2&r2=1.3&cvsroot=glibc' - -Revision 1.3, Sun Aug 25 00:34:23 2002 UTC (2 years, 1 month ago) by drepper -Branch: MAIN -CVS Tags: glibc-2-3-1, glibc-2-3 -Changes since 1.2: +78 -78 lines - -(__asm__): Don't use newlines embedded in string. - -Fixes error - -../sysdeps/ia64/elf/initfini.c:30:10: missing terminating " character -../sysdeps/ia64/elf/initfini.c:32:10: #include expects "FILENAME" or <FILENAME> -../sysdeps/ia64/elf/initfini.c:37: error: request for member `section' in something not a structure or union -../sysdeps/ia64/elf/initfini.c:38: error: parse error before numeric constant -../sysdeps/ia64/elf/initfini.c:39: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:40: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:46: error: syntax error at '@' token -../sysdeps/ia64/elf/initfini.c:46: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:48: error: parse error before "r15" -../sysdeps/ia64/elf/initfini.c:48: warning: type defaults to `int' in declaration of `r15' -../sysdeps/ia64/elf/initfini.c:50: error: parse error before '.' token -../sysdeps/ia64/elf/initfini.c:56: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:57: error: parse error before "r12" -../sysdeps/ia64/elf/initfini.c:57: warning: type defaults to `int' in declaration of `r12' -../sysdeps/ia64/elf/initfini.c:58: warning: type defaults to `int' in declaration of `r12' -../sysdeps/ia64/elf/initfini.c:58: warning: data definition has no type or storage class -../sysdeps/ia64/elf/initfini.c:59: error: parse error before "gp" -../sysdeps/ia64/elf/initfini.c:59: warning: type defaults to `int' in declaration of `gp' -../sysdeps/ia64/elf/initfini.c:63: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:74: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:80: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:81: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:89: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:92: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:96: error: parse error before '.' token -../sysdeps/ia64/elf/initfini.c:101: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:106: error: syntax error at '#' token -../sysdeps/ia64/elf/initfini.c:107:1: missing terminating " character -make[2]: *** [/home/dank/wk/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.3.4-glibc-2.2.5/build-glibc/csu/initfini.s] Error 1 -make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.3.4-glibc-2.2.5/glibc-2.2.5/csu' -make[1]: *** [csu/subdir_lib] Error 2 -make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc37/build/ia64-unknown-linux-gnu/gcc-3.3.4-glibc-2.2.5/glibc-2.2.5' -make: *** [all] Error 2 - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/ia64/elf/initfini.c,v -retrieving revision 1.2 -retrieving revision 1.3 -diff -u -r1.2 -r1.3 ---- libc/sysdeps/ia64/elf/initfini.c 2001/07/06 04:55:54 1.2 -+++ libc/sysdeps/ia64/elf/initfini.c 2002/08/25 00:34:23 1.3 -@@ -1,5 +1,5 @@ - /* Special .init and .fini section support for ia64. -- Copyright (C) 2000 Free Software Foundation, Inc. -+ Copyright (C) 2000, 2002 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 -@@ -27,81 +27,81 @@ - * crtn.s puts the corresponding function epilogues - in the .init and .fini sections. */ - --__asm__ (" -- --#include \"defs.h\" -- --/*@HEADER_ENDS*/ -- --/*@_init_PROLOG_BEGINS*/ -- .section .init -- .align 16 -- .global _init# -- .proc _init# --_init: -- alloc r34 = ar.pfs, 0, 3, 0, 0 -- mov r32 = r12 -- mov r33 = b0 -- adds r12 = -16, r12 -- addl r14 = @ltoff(@fptr(__gmon_start__#)), gp -- ;; -- ld8 r15 = [r14] -- ;; -- cmp.eq p6, p7 = 0, r15 -- (p6) br.cond.dptk .L5 -- --/* we could use r35 to save gp, but we use the stack since that's what -- * all the other init routines will do --davidm 00/04/05 */ -- st8 [r12] = gp, -16 -- br.call.sptk.many b0 = __gmon_start__# ;; -- adds r12 = 16, r12 -- ;; -- ld8 gp = [r12] -- ;; --.L5: -- .align 16 -- .endp _init# -- --/*@_init_PROLOG_ENDS*/ -- --/*@_init_EPILOG_BEGINS*/ -- .section .init -- .regstk 0,2,0,0 -- mov r12 = r32 -- mov ar.pfs = r34 -- mov b0 = r33 -- br.ret.sptk.many b0 -- .endp _init# --/*@_init_EPILOG_ENDS*/ -- --/*@_fini_PROLOG_BEGINS*/ -- .section .fini -- .align 16 -- .global _fini# -- .proc _fini# --_fini: -- alloc r34 = ar.pfs, 0, 3, 0, 0 -- mov r32 = r12 -- mov r33 = b0 -- adds r12 = -16, r12 -- ;; -- .align 16 -- .endp _fini# -- --/*@_fini_PROLOG_ENDS*/ -- br.call.sptk.many b0 = i_am_not_a_leaf# ;; -- ;; -- --/*@_fini_EPILOG_BEGINS*/ -- .section .fini -- mov r12 = r32 -- mov ar.pfs = r34 -- mov b0 = r33 -- br.ret.sptk.many b0 -- .endp _fini# -- --/*@_fini_EPILOG_ENDS*/ -- --/*@TRAILER_BEGINS*/ -- .weak __gmon_start__# -+__asm__ ("\n\ -+\n\ -+#include \"defs.h\"\n\ -+\n\ -+/*@HEADER_ENDS*/\n\ -+\n\ -+/*@_init_PROLOG_BEGINS*/\n\ -+ .section .init\n\ -+ .align 16\n\ -+ .global _init#\n\ -+ .proc _init#\n\ -+_init:\n\ -+ alloc r34 = ar.pfs, 0, 3, 0, 0\n\ -+ mov r32 = r12\n\ -+ mov r33 = b0\n\ -+ adds r12 = -16, r12\n\ -+ addl r14 = @ltoff(@fptr(__gmon_start__#)), gp\n\ -+ ;;\n\ -+ ld8 r15 = [r14]\n\ -+ ;;\n\ -+ cmp.eq p6, p7 = 0, r15\n\ -+ (p6) br.cond.dptk .L5\n\ -+\n\ -+/* we could use r35 to save gp, but we use the stack since that's what\n\ -+ * all the other init routines will do --davidm 00/04/05 */\n\ -+ st8 [r12] = gp, -16\n\ -+ br.call.sptk.many b0 = __gmon_start__# ;;\n\ -+ adds r12 = 16, r12\n\ -+ ;;\n\ -+ ld8 gp = [r12]\n\ -+ ;;\n\ -+.L5:\n\ -+ .align 16\n\ -+ .endp _init#\n\ -+\n\ -+/*@_init_PROLOG_ENDS*/\n\ -+\n\ -+/*@_init_EPILOG_BEGINS*/\n\ -+ .section .init\n\ -+ .regstk 0,2,0,0\n\ -+ mov r12 = r32\n\ -+ mov ar.pfs = r34\n\ -+ mov b0 = r33\n\ -+ br.ret.sptk.many b0\n\ -+ .endp _init#\n\ -+/*@_init_EPILOG_ENDS*/\n\ -+\n\ -+/*@_fini_PROLOG_BEGINS*/\n\ -+ .section .fini\n\ -+ .align 16\n\ -+ .global _fini#\n\ -+ .proc _fini#\n\ -+_fini:\n\ -+ alloc r34 = ar.pfs, 0, 3, 0, 0\n\ -+ mov r32 = r12\n\ -+ mov r33 = b0\n\ -+ adds r12 = -16, r12\n\ -+ ;;\n\ -+ .align 16\n\ -+ .endp _fini#\n\ -+\n\ -+/*@_fini_PROLOG_ENDS*/\n\ -+ br.call.sptk.many b0 = i_am_not_a_leaf# ;;\n\ -+ ;;\n\ -+\n\ -+/*@_fini_EPILOG_BEGINS*/\n\ -+ .section .fini\n\ -+ mov r12 = r32\n\ -+ mov ar.pfs = r34\n\ -+ mov b0 = r33\n\ -+ br.ret.sptk.many b0\n\ -+ .endp _fini#\n\ -+\n\ -+/*@_fini_EPILOG_ENDS*/\n\ -+\n\ -+/*@TRAILER_BEGINS*/\n\ -+ .weak __gmon_start__#\n\ - "); diff --git a/patches/glibc/2.2.5/initfini-sh.patch b/patches/glibc/2.2.5/initfini-sh.patch deleted file mode 100644 index d1e0eae..0000000 --- a/patches/glibc/2.2.5/initfini-sh.patch +++ /dev/null @@ -1,243 +0,0 @@ ---- glibc-2.2.5/sysdeps/sh/elf/initfini.c.orig Thu Jul 5 21:56:03 2001 -+++ glibc-2.2.5/sysdeps/sh/elf/initfini.c Wed May 28 08:45:08 2003 -@@ -27,122 +27,122 @@ - * crtn.s puts the corresponding function epilogues - in the .init and .fini sections. */ - --__asm__ (" -- --#include \"defs.h\" --#define SHARED -- --/*@HEADER_ENDS*/ -- --/*@TESTS_BEGIN*/ -- --/*@TESTS_END*/ -- --/*@_init_PROLOG_BEGINS*/ -- .section .init -- .align 5 -- .global _init -- .type _init,@function --_init: -- mov.l r12,@-r15 -- mov.l r14,@-r15 -- sts.l pr,@-r15 --#ifdef SHARED -- mova .L22,r0 -- mov.l .L22,r12 -- add r0,r12 -- mova .L23,r0 -- mov.l .L23,r1 -- add r0,r1 --#else -- mov.l .L23,r1 --#endif -- jsr @r1 -- mov r15,r14 -- bra 1f -- nop -- .align 2 --#ifdef SHARED --.L22: -- .long _GLOBAL_OFFSET_TABLE_ --.L23: -- .long __gmon_start__@PLT --#else --.L23: -- .long __gmon_start__ --#endif -- .data -- .global __fpscr_values --__fpscr_values: -- .long 0 -- .long 0x80000 -- .previous --1: -- ALIGN -- END_INIT -- -- --/*@_init_PROLOG_ENDS*/ -- --/*@_init_EPILOG_BEGINS*/ -- .section .init -- mov r14,r15 -- lds.l @r15+,pr -- mov.l @r15+,r14 -- rts -- mov.l @r15+,r12 -- END_INIT -- .section .text -- .align 5 -- .weak __gmon_start__ -- .type __gmon_start__,@function --__gmon_start__: -- mov.l r14,@-r15 -- mov r15,r14 -- mov r14,r15 -- rts -- mov.l @r15+,r14 -- --/*@_init_EPILOG_ENDS*/ -- --/*@_fini_PROLOG_BEGINS*/ -- .section .fini -- .align 5 -- .global _fini -- .type _fini,@function --_fini: -- mov.l r12,@-r15 -- mov.l r14,@-r15 -- sts.l pr,@-r15 --#ifdef SHARED -- mova .L27,r0 -- mov.l .L27,r12 -- add r0,r12 --#endif -- mov r15,r14 -- ALIGN -- END_FINI --#ifdef SHARED -- bra 1f -- nop -- .align 2 --.L27: -- .long _GLOBAL_OFFSET_TABLE_ --#endif --1: --/*@_fini_PROLOG_ENDS*/ -- --/*@_fini_EPILOG_BEGINS*/ -- .section .fini -- mov r14,r15 -- lds.l @r15+,pr -- mov.l @r15+,r14 -- rts -- mov.l @r15+,r12 -- -- END_FINI -- --/*@_fini_EPILOG_ENDS*/ -- --/*@TRAILER_BEGINS*/ -+__asm__ ("\n\ -+\n\ -+#include \"defs.h\"\n\ -+#define SHARED\n\ -+\n\ -+/*@HEADER_ENDS*/\n\ -+\n\ -+/*@TESTS_BEGIN*/\n\ -+\n\ -+/*@TESTS_END*/\n\ -+\n\ -+/*@_init_PROLOG_BEGINS*/\n\ -+ .section .init\n\ -+ .align 5\n\ -+ .global _init\n\ -+ .type _init,@function\n\ -+_init:\n\ -+ mov.l r12,@-r15\n\ -+ mov.l r14,@-r15\n\ -+ sts.l pr,@-r15\n\ -+#ifdef SHARED\n\ -+ mova .L22,r0\n\ -+ mov.l .L22,r12\n\ -+ add r0,r12\n\ -+ mova .L23,r0\n\ -+ mov.l .L23,r1\n\ -+ add r0,r1\n\ -+#else\n\ -+ mov.l .L23,r1\n\ -+#endif\n\ -+ jsr @r1\n\ -+ mov r15,r14\n\ -+ bra 1f\n\ -+ nop\n\ -+ .align 2\n\ -+#ifdef SHARED\n\ -+.L22:\n\ -+ .long _GLOBAL_OFFSET_TABLE_\n\ -+.L23:\n\ -+ .long __gmon_start__@PLT\n\ -+#else\n\ -+.L23:\n\ -+ .long __gmon_start__\n\ -+#endif\n\ -+ .data\n\ -+ .global __fpscr_values\n\ -+__fpscr_values:\n\ -+ .long 0\n\ -+ .long 0x80000\n\ -+ .previous\n\ -+1:\n\ -+ ALIGN\n\ -+ END_INIT\n\ -+\n\ -+ \n\ -+/*@_init_PROLOG_ENDS*/\n\ -+\n\ -+/*@_init_EPILOG_BEGINS*/\n\ -+ .section .init\n\ -+ mov r14,r15\n\ -+ lds.l @r15+,pr\n\ -+ mov.l @r15+,r14\n\ -+ rts \n\ -+ mov.l @r15+,r12\n\ -+ END_INIT\n\ -+ .section .text\n\ -+ .align 5\n\ -+ .weak __gmon_start__\n\ -+ .type __gmon_start__,@function\n\ -+__gmon_start__:\n\ -+ mov.l r14,@-r15\n\ -+ mov r15,r14\n\ -+ mov r14,r15\n\ -+ rts \n\ -+ mov.l @r15+,r14\n\ -+ \n\ -+/*@_init_EPILOG_ENDS*/\n\ -+\n\ -+/*@_fini_PROLOG_BEGINS*/\n\ -+ .section .fini\n\ -+ .align 5\n\ -+ .global _fini\n\ -+ .type _fini,@function\n\ -+_fini:\n\ -+ mov.l r12,@-r15\n\ -+ mov.l r14,@-r15\n\ -+ sts.l pr,@-r15\n\ -+#ifdef SHARED\n\ -+ mova .L27,r0\n\ -+ mov.l .L27,r12\n\ -+ add r0,r12\n\ -+#endif\n\ -+ mov r15,r14\n\ -+ ALIGN\n\ -+ END_FINI\n\ -+#ifdef SHARED\n\ -+ bra 1f\n\ -+ nop\n\ -+ .align 2\n\ -+.L27:\n\ -+ .long _GLOBAL_OFFSET_TABLE_\n\ -+#endif\n\ -+1:\n\ -+/*@_fini_PROLOG_ENDS*/\n\ -+\n\ -+/*@_fini_EPILOG_BEGINS*/\n\ -+ .section .fini\n\ -+ mov r14,r15\n\ -+ lds.l @r15+,pr\n\ -+ mov.l @r15+,r14\n\ -+ rts \n\ -+ mov.l @r15+,r12\n\ -+\n\ -+ END_FINI\n\ -+ \n\ -+/*@_fini_EPILOG_ENDS*/\n\ -+\n\ -+/*@TRAILER_BEGINS*/\n\ - "); diff --git a/patches/glibc/2.2.5/longjmp-sparc.patch b/patches/glibc/2.2.5/longjmp-sparc.patch deleted file mode 100644 index d11e9f8..0000000 --- a/patches/glibc/2.2.5/longjmp-sparc.patch +++ /dev/null @@ -1,75 +0,0 @@ -From libc-alpha-return-8354-listarch-libc-alpha=sourceware dot cygnus dot com at sources dot redhat dot com Mon Jul 01 11:18:29 2002 -Return-Path: <libc-alpha-return-8354-listarch-libc-alpha=sourceware dot cygnus dot com at sources dot redhat dot com> -Delivered-To: listarch-libc-alpha at sourceware dot cygnus dot com -Received: (qmail 10698 invoked by alias); 1 Jul 2002 11:18:28 -0000 -Mailing-List: contact libc-alpha-help at sources dot redhat dot com; run by ezmlm -Precedence: bulk -List-Subscribe: <mailto:libc-alpha-subscribe at sources dot redhat dot com> -List-Archive: <http://sources.redhat.com/ml/libc-alpha/> -List-Post: <mailto:libc-alpha at sources dot redhat dot com> -List-Help: <mailto:libc-alpha-help at sources dot redhat dot com>, <http://sources dot redhat dot com/ml/#faqs> -Sender: libc-alpha-owner at sources dot redhat dot com -Delivered-To: mailing list libc-alpha at sources dot redhat dot com -Received: (qmail 10659 invoked from network); 1 Jul 2002 11:18:27 -0000 -Received: from unknown (HELO sceaux.ilog.fr) (193.55.64.10) - by sources dot redhat dot com with SMTP; 1 Jul 2002 11:18:27 -0000 -Received: from ftp.ilog.fr (ftp.ilog.fr [193.55.64.11]) - by sceaux dot ilog dot fr (8 dot 11 dot 6/8 dot 11 dot 6) with SMTP id g61BFDi08003 - for <libc-alpha at sources dot redhat dot com>; Mon, 1 Jul 2002 13:15:18 +0200 (MET DST) -Received: from laposte.ilog.fr ([193.55.64.67]) - by ftp dot ilog dot fr (NAVGW 2 dot 5 dot 1 dot 16) with SMTP id M2002070113180506608 - for <libc-alpha at sources dot redhat dot com>; Mon, 01 Jul 2002 13:18:05 +0200 -Received: from honolulu.ilog.fr ([172.17.4.43]) - by laposte dot ilog dot fr (8 dot 11 dot 6/8 dot 11 dot 5) with ESMTP id g61BI2w29996; - Mon, 1 Jul 2002 13:18:02 +0200 (MET DST) -Received: (from haible@localhost) - by honolulu dot ilog dot fr (8 dot 9 dot 3/8 dot 9 dot 3/SuSE Linux 8 dot 9 dot 3-0 dot 1) id NAA01763; - Mon, 1 Jul 2002 13:12:40 +0200 -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: base64 -Message-ID: <15648.14632.526690.249866@honolulu.ilog.fr> -Date: Mon, 1 Jul 2002 13:12:40 +0200 (CEST) -From: Bruno Haible <bruno at clisp dot org> -To: libc-alpha at sources dot redhat dot com -Subject: sparc32/sysdep.h and gcc-3.1 - -Hi, - -When building glibc-2.2.5 for sparc with gcc-3.1 I get a build error - -sparc-linux-gcc ../sysdeps/sparc/sparc32/__longjmp.S -c -I../include -I. -I/backup/cross-build/build-glibc-sparc/setjmp -I.. -I../libio -I/backup/cross-build/build-glibc-sparc -I../sysdeps/sparc/sparc32/elf -I../linuxthreads/sysdeps/unix/sysv/linux/sparc -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/sparc/sparc32 -I../linuxthreads/sysdeps/sparc -I../sysdeps/unix/sysv/linux/sparc/sparc32 -I../sysdeps/unix/sysv/linux/sparc -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/sparc -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/sparc/sparc32/fpu -I../sysdeps/sparc/sparc32 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/sparc/sparc32/soft-fp -I../sysdeps/sparc/fpu -I../sysdeps/sparc -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /cross/sparc-linux-tools/lib/gcc-lib/sparc-linux/3.1/include -isystem /cross/sparc-linux/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DASSEMBLER -D__ASSEMBLY__ -o /backup/cross-build/build-glibc-sparc/setjmp/__longjmp.o -../sysdeps/sparc/sparc32/__longjmp.S: Assembler messages: -../sysdeps/sparc/sparc32/__longjmp.S:41: Error: Illegal operands -../sysdeps/sparc/sparc32/__longjmp.S:43: Error: Illegal operands -../sysdeps/sparc/sparc32/__longjmp.S:48: Error: unknown pseudo-op: `.' -../sysdeps/sparc/sparc32/__longjmp.S:50: Error: Illegal operands -../sysdeps/sparc/sparc32/__longjmp.S:52: Error: Illegal operands -../sysdeps/sparc/sparc32/__longjmp.S:55: Error: unknown pseudo-op: `.' -../sysdeps/sparc/sparc32/__longjmp.S:72: Error: unknown pseudo-op: `.' -../sysdeps/sparc/sparc32/__longjmp.S:76: Error: unknown pseudo-op: `.' -make[2]: *** [/backup/cross-build/build-glibc-sparc/setjmp/__longjmp.o] Fehler 1 -make[2]: Leaving directory `/packages2/glibc-2.2.5/setjmp' - -Apparently "cpp0 -lang-asm" now leaves spaces around ## in place, if the token -on the left or right of it is a lone dot (not a valid C identifier). Hard to -say that it's a bug in the gcc-3.1 cpp, because -lang-asm is a gcc extension. -The fix is just to remove the spaces. - - -2002-06-05 Bruno Haible <bruno@clisp.org> - - * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (LOC): Remove spaces. - ---- glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h.bak 2001-07-06 06:56:21.000000000 +0200 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h 2002-06-05 23:14:40.000000000 +0200 -@@ -48,7 +48,7 @@ - #define END(name) \ - .size name, . - name - --#define LOC(name) . ## L ## name -+#define LOC(name) .##L##name - - #ifdef PIC - #define SYSCALL_ERROR_HANDLER \ - diff --git a/patches/glibc/2.2.5/sh-setjmp-fix.patch b/patches/glibc/2.2.5/sh-setjmp-fix.patch deleted file mode 100644 index 3f86a5e..0000000 --- a/patches/glibc/2.2.5/sh-setjmp-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fixes glibc 'make tests' failure running isomac - -make[2]: *** [/home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.15/build/sh4-unknown-linux-gnu/gcc-ss-3_3-20030714-glibc-2.2.5/build-glibc/stdlib/isomac.out] Error 2 - -isomac.out contains: -... -setjmp.h -#define JB_SIZE (4 * 15) - -See http://sources.redhat.com/ml/libc-hacker/2002-11/msg00009.html -and http://www.schweikhardt.net/isomac.c.html - -=================================================================== -RCS file: /cvs/glibc/libc/sysdeps/sh/bits/setjmp.h,v -retrieving revision 1.4 -retrieving revision 1.5 -diff -u -r1.4 -r1.5 ---- libc/sysdeps/sh/bits/setjmp.h 2001/07/06 04:56:03 1.4 -+++ libc/sysdeps/sh/bits/setjmp.h 2002/11/06 00:08:30 1.5 -@@ -42,7 +42,9 @@ - } __jmp_buf[1]; - #endif - -+#if defined __USE_MISC || defined _ASM - #define JB_SIZE (4 * 15) -+#endif - - /* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ diff --git a/patches/glibc/2.2.5/sprintf-prototype.patch b/patches/glibc/2.2.5/sprintf-prototype.patch deleted file mode 100644 index b0d346b..0000000 --- a/patches/glibc/2.2.5/sprintf-prototype.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- glibc-2.2.5/stdio-common/sprintf.c.old Wed May 28 08:59:11 2003 -+++ glibc-2.2.5/stdio-common/sprintf.c Wed May 28 08:59:45 2003 -@@ -27,9 +27,7 @@ - /* Write formatted output into S, according to the format string FORMAT. */ - /* VARARGS2 */ - int --sprintf (s, format) -- char *s; -- const char *format; -+sprintf (char *s, const char *format, ...) - { - va_list arg; - int done; diff --git a/patches/glibc/2.2.5/sscanf.patch b/patches/glibc/2.2.5/sscanf.patch deleted file mode 100644 index 4ee33e2..0000000 --- a/patches/glibc/2.2.5/sscanf.patch +++ /dev/null @@ -1,82 +0,0 @@ -[dank] Modified very slightly to apply to 2.2.5. - -2003-03-05 Roland McGrath <roland@redhat.com> - - * stdio-common/sscanf.c: Use prototype defn with ... syntax. - * libio/swscanf.c: Likewise. - * libio/swprintf.c: Likewise. - -=================================================================== -RCS file: /cvs/glibc/libc/stdio-common/sscanf.c,v -retrieving revision 1.8 -retrieving revision 1.9 -diff -u -r1.8 -r1.9 ---- libc/stdio-common/sscanf.c 2002/08/10 09:24:42 1.8 -+++ libc/stdio-common/sscanf.c 2003/03/05 19:58:03 1.9 -@@ -1,4 +1,4 @@ --/* Copyright (C) 1991, 1995, 1996, 1998 Free Software Foundation, Inc. -+/* Copyright (C) 1991,1995,1996,1998,2002,2003 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 -@@ -27,9 +27,7 @@ - /* Read formatted input from S, according to the format string FORMAT. */ - /* VARARGS2 */ - int --sscanf (s, format) -- const char *s; -- const char *format; -+sscanf (const char *s, const char *format, ...) - { - va_list arg; - int done; -=================================================================== -RCS file: /cvs/glibc/libc/libio/swprintf.c,v -retrieving revision 1.3 -retrieving revision 1.4 -diff -u -r1.3 -r1.4 ---- libc/libio/swprintf.c 2001/07/06 04:55:32 1.3 -+++ libc/libio/swprintf.c 2003/03/05 19:58:03 1.4 -@@ -1,4 +1,5 @@ --/* Copyright (C) 1991,1995,1997,1998,1999,2000 Free Software Foundation, Inc. -+/* Copyright (C) 1991,1995,1997,1998,1999,2000,2003 -+ 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 -@@ -22,10 +23,7 @@ - /* Write formatted output into S, according to the format string FORMAT. */ - /* VARARGS3 */ - int --swprintf (s, n, format) -- wchar_t *s; -- size_t n; -- const wchar_t *format; -+swprintf (wchar_t *s, size_t n, const wchar_t *format, ...) - { - va_list arg; - int done; -=================================================================== -RCS file: /cvs/glibc/libc/libio/swscanf.c,v -retrieving revision 1.2 -retrieving revision 1.3 -diff -u -r1.2 -r1.3 ---- libc/libio/swscanf.c 2001/07/06 04:55:32 1.2 -+++ libc/libio/swscanf.c 2003/03/05 19:58:03 1.3 -@@ -1,4 +1,4 @@ --/* Copyright (C) 1991, 1995, 1996, 1998, 1999 Free Software Foundation, Inc. -+/* Copyright (C) 1991,1995,1996,1998,1999,2003 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 -@@ -22,9 +22,7 @@ - /* Read formatted input from S, according to the format string FORMAT. */ - /* VARARGS2 */ - int --swscanf (s, format) -- const wchar_t *s; -- const wchar_t *format; -+swscanf (const wchar_t *s, const wchar_t *format, ...) - { - va_list arg; - int done; diff --git a/patches/glibc/2.2.5/unwind-arm.patch b/patches/glibc/2.2.5/unwind-arm.patch deleted file mode 100644 index 37f7b8d..0000000 --- a/patches/glibc/2.2.5/unwind-arm.patch +++ /dev/null @@ -1,19 +0,0 @@ -# See http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2002-September/011508.html -# Fixes error -# arm-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/libc.so.6: undefined reference to `size_of_encoded_value' -# arm-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/libc.so.6: undefined reference to `read_encoded_value_with_base' -# make[2]: *** [arm-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/iconv/iconvconfig] Error 1 - ---- glibc-2.2.5/sysdeps/unix/sysv/linux/configure.old Sun Jan 20 19:27:33 2002 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/configure Sun Jun 8 03:33:03 2003 -@@ -56,6 +56,10 @@ - arch_minimum_kernel=2.1.100 - libc_cv_gcc_unwind_find_fde=yes - ;; -+ arm*) -+ libc_cv_gcc_unwind_find_fde=yes -+ arch_minimum_kernel=2.0.10 -+ ;; - i386*) - libc_cv_gcc_unwind_find_fde=yes - arch_minimum_kernel=2.0.10 |