diff options
Diffstat (limited to 'patches/glibc/linuxthreads-2.3.2')
6 files changed, 0 insertions, 463 deletions
diff --git a/patches/glibc/linuxthreads-2.3.2/alpha_cfi1.patch b/patches/glibc/linuxthreads-2.3.2/alpha_cfi1.patch deleted file mode 100644 index e9532c7..0000000 --- a/patches/glibc/linuxthreads-2.3.2/alpha_cfi1.patch +++ /dev/null @@ -1,136 +0,0 @@ -Retrieved with -$ wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S.diff?r1=1.5&r2=1.6&cvsroot=glibc' -$ wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h.diff?r1=1.3&r2=1.4&cvsroot=glibc' - -Might fix problem building with binutils-2.14.90.0.8/gcc-3.3.3 that was not -present with binutils-2.13.90.0.18/gcc-3.3.2: - -../linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S: Assembler messages: -../linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S:63: Warning: .ent -directive without matching .end -../linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S:63: Error: can't resolve -`0' {.text section} - `L0^A' {.text section} -make[2]: *** -[/home/dkegel/wk/crosstool-0.26-pre3/build/alpha-unknown-linux-gnu/gcc-3.3-20040112-glibc-2.3.2/build-glibc/posix/vfork.o] -Error 1 -make[2]: Leaving directory -`/home/dkegel/wk/crosstool-0.26-pre3/build/alpha-unknown-linux-gnu/gcc-3.3-20040112-glibc-2.3.2/glibc-2.3.2/posix' -make[1]: *** [posix/subdir_lib] Error 2 -make[1]: Leaving directory -`/home/dkegel/wk/crosstool-0.26-pre3/build/alpha-unknown-linux-gnu/gcc-3.3-20040112-glibc-2.3.2/glibc-2.3.2' -make: *** [all] Error 2 - -See also alpha_cfi2.patch - -=================================================================== -RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S,v -retrieving revision 1.5 -retrieving revision 1.6 -diff -u -r1.5 -r1.6 ---- libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S 2003/02/11 06:27:53 1.5 -+++ libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S 2003/06/06 05:51:03 1.6 -@@ -19,12 +19,13 @@ - - #include <sysdep-cancel.h> - -- .globl __vfork - .align 4 -- .ent __vfork,0 --__LABEL(__vfork) -+ .globl __vfork -+ .type __vfork, @function -+ .usepv __vfork, std -+ cfi_startproc -+__vfork: - ldgp gp, 0(pv) -- .prologue 1 - PSEUDO_PROF - - #ifdef SHARED -@@ -46,18 +47,24 @@ - fork and vfork object files. */ - $do_fork: - subq sp, 16, sp -+ cfi_adjust_cfa_offset(16) - stq ra, 0(sp) -+ cfi_offset(ra, -16) - jsr ra, HIDDEN_JUMPTARGET (__fork) - ldgp gp, 0(ra) - ldq ra, 0(sp) - addq sp, 16, sp -+ cfi_restore(ra) -+ cfi_adjust_cfa_offset(-16) - ret - - $syscall_error: - SYSCALL_ERROR_HANDLER - #endif - --PSEUDO_END(__vfork) -+ cfi_endproc -+ .size __vfork, .-__vfork -+ - libc_hidden_def (__vfork) - - weak_alias (__vfork, vfork) -=================================================================== -RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h,v -retrieving revision 1.3 -retrieving revision 1.4 -diff -u -r1.3 -r1.4 ---- libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2003/01/12 19:26:41 1.3 -+++ libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2003/06/06 05:51:03 1.4 -@@ -40,10 +40,11 @@ - # define PSEUDO(name, syscall_name, args) \ - .globl name; \ - .align 4; \ -- .ent name, 0; \ -+ .type name, @function; \ -+ .usepv name, std; \ -+ cfi_startproc; \ - __LABEL(name) \ - ldgp gp, 0(pv); \ -- .prologue 1; \ - PSEUDO_PROF; \ - PSEUDO_PREPARE_ARGS \ - SINGLE_THREAD_P(t0); \ -@@ -55,7 +56,9 @@ - .subsection 2; \ - __LABEL($pseudo_cancel) \ - subq sp, 64, sp; \ -+ cfi_def_cfa_offset(64); \ - stq ra, 0(sp); \ -+ cfi_offset(ra, -64); \ - SAVE_ARGS_##args; \ - CENABLE; \ - LOAD_ARGS_##args; \ -@@ -67,19 +70,27 @@ - ldq ra, 0(sp); \ - ldq v0, 8(sp); \ - addq sp, 64, sp; \ -+ cfi_remember_state; \ -+ cfi_restore(ra); \ -+ cfi_def_cfa_offset(0); \ - ret; \ -+ cfi_restore_state; \ - __LABEL($multi_error) \ - CDISABLE; \ - ldq ra, 0(sp); \ - ldq v0, 8(sp); \ - addq sp, 64, sp; \ -+ cfi_restore(ra); \ -+ cfi_def_cfa_offset(0); \ - __LABEL($syscall_error) \ - SYSCALL_ERROR_HANDLER; \ -- END(name); \ - .previous - - # undef PSEUDO_END --# define PSEUDO_END(sym) -+# define PSEUDO_END(sym) \ -+ .subsection 2; \ -+ cfi_endproc; \ -+ .size sym, .-sym - - # define SAVE_ARGS_0 /* Nothing. */ - # define SAVE_ARGS_1 SAVE_ARGS_0; stq a0, 8(sp) diff --git a/patches/glibc/linuxthreads-2.3.2/alpha_cfi2.patch b/patches/glibc/linuxthreads-2.3.2/alpha_cfi2.patch deleted file mode 100644 index 45373f8..0000000 --- a/patches/glibc/linuxthreads-2.3.2/alpha_cfi2.patch +++ /dev/null @@ -1,118 +0,0 @@ -See http://sources.redhat.com/ml/libc-alpha/2004-05/msg00110.html - -Both his patches pulled into this file - -Should fix -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Assembler messages: -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_startproc' -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_def_cfa_offset' -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: missing ')' -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: syntax error -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_remember_state' -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_restore' -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_def_cfa_offset' -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_restore_state' -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_restore' -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_def_cfa_offset' -../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:30: Error: unknown opcode `cfi_endproc' -make[2]: *** [/usr/src/crosstool/crosstool-0.28-rc14/build/alpha-linux/gcc-3.4.0-glibc-2.3.2/build-glibc/signal/sigsuspend.o] Error 1 - -when building with binutils-2.15.90.0.3 and gcc-3.4.0 - ---- glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h.orig 2004-05-13 00:33:54.000000000 -0400 -+++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2004-05-13 00:34:19.000000000 -0400 -@@ -42,7 +42,7 @@ - .align 4; \ - .type name, @function; \ - .usepv name, std; \ -- cfi_startproc; \ -+ .cfi_startproc; \ - __LABEL(name) \ - ldgp gp, 0(pv); \ - PSEUDO_PROF; \ -@@ -56,9 +56,9 @@ - .subsection 2; \ - __LABEL($pseudo_cancel) \ - subq sp, 64, sp; \ -- cfi_def_cfa_offset(64); \ -+ .cfi_def_cfa_offset(64); \ - stq ra, 0(sp); \ -- cfi_offset(ra, -64); \ -+ .cfi_offset ra, -64; \ - SAVE_ARGS_##args; \ - CENABLE; \ - LOAD_ARGS_##args; \ -@@ -70,18 +70,18 @@ - ldq ra, 0(sp); \ - ldq v0, 8(sp); \ - addq sp, 64, sp; \ -- cfi_remember_state; \ -- cfi_restore(ra); \ -- cfi_def_cfa_offset(0); \ -+ .cfi_remember_state; \ -+ .cfi_restore(ra); \ -+ .cfi_def_cfa_offset(0); \ - ret; \ -- cfi_restore_state; \ -+ .cfi_restore_state; \ - __LABEL($multi_error) \ - CDISABLE; \ - ldq ra, 0(sp); \ - ldq v0, 8(sp); \ - addq sp, 64, sp; \ -- cfi_restore(ra); \ -- cfi_def_cfa_offset(0); \ -+ .cfi_restore(ra); \ -+ .cfi_def_cfa_offset(0); \ - __LABEL($syscall_error) \ - SYSCALL_ERROR_HANDLER; \ - .previous -@@ -89,7 +89,7 @@ - # undef PSEUDO_END - # define PSEUDO_END(sym) \ - .subsection 2; \ -- cfi_endproc; \ -+ .cfi_endproc; \ - .size sym, .-sym - - # define SAVE_ARGS_0 /* Nothing. */ - ---- glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S.orig 2004-05-13 01:47:46.000000000 -0400 -+++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S 2004-05-13 01:48:17.000000000 -0400 -@@ -23,7 +23,7 @@ - .globl __vfork - .type __vfork, @function - .usepv __vfork, std -- cfi_startproc -+ .cfi_startproc - __vfork: - ldgp gp, 0(pv) - PSEUDO_PROF -@@ -47,22 +47,22 @@ - fork and vfork object files. */ - $do_fork: - subq sp, 16, sp -- cfi_adjust_cfa_offset(16) -+ .cfi_adjust_cfa_offset(16) - stq ra, 0(sp) -- cfi_offset(ra, -16) -+ .cfi_offset ra, -16 - jsr ra, HIDDEN_JUMPTARGET (__fork) - ldgp gp, 0(ra) - ldq ra, 0(sp) - addq sp, 16, sp -- cfi_restore(ra) -- cfi_adjust_cfa_offset(-16) -+ .cfi_restore(ra) -+ .cfi_adjust_cfa_offset(-16) - ret - - $syscall_error: - SYSCALL_ERROR_HANDLER - #endif - -- cfi_endproc -+ .cfi_endproc - .size __vfork, .-__vfork - - libc_hidden_def (__vfork) diff --git a/patches/glibc/linuxthreads-2.3.2/glibc-2.3.2-sparc64-sigproc.patch b/patches/glibc/linuxthreads-2.3.2/glibc-2.3.2-sparc64-sigproc.patch deleted file mode 100644 index 90ecc88..0000000 --- a/patches/glibc/linuxthreads-2.3.2/glibc-2.3.2-sparc64-sigproc.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: "M.H.VanLeeuwen" -Subject: crosstool, sparc64, linux 2.6.4, gcc 3.3.3, glibc 2.3.2 success -Date: Mon, 15 Mar 2004 00:23:04 -0600 -To: crossgcc@sources.redhat.com -Message-ID: <40554BC8.749A5EC3@megsinet.net> -... - -backported from GLIBC CVS - -Fix this error: - -/cross/crosstool-0.27/build/sparc64-unknown-linux-gnu/gcc-3.3.3-glibc-2.3.2/build-glibc/linuxthreads/libpthread_pic.a(ptw-pause.os)(.text+0x2c): In function `pause': -: undefined reference to `__sigprocmask' -collect2: ld returned 1 exit status -make[2]: *** [/cross/crosstool-0.27/build/sparc64-unknown-linux-gnu/gcc-3.3.3-glibc-2.3.2/build-glibc/linuxthreads/libpthread.so] Error 1 - - ---- /cross/sources/glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile Wed Dec 31 18:00:00 1969 -+++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile Sat Mar 13 10:18:43 2004 -@@ -0,0 +1,5 @@ -+# glibc makefile fragment for linuxthreads on sparc/sparc64. -+ -+ifeq ($(subdir),linuxthreads) -+libpthread-routines += ptw-sigprocmask -+endif - diff --git a/patches/glibc/linuxthreads-2.3.2/glibc-linuxthreads-2.3.2-allow-3.4.patch b/patches/glibc/linuxthreads-2.3.2/glibc-linuxthreads-2.3.2-allow-3.4.patch deleted file mode 100644 index 3c4e3a1..0000000 --- a/patches/glibc/linuxthreads-2.3.2/glibc-linuxthreads-2.3.2-allow-3.4.patch +++ /dev/null @@ -1,100 +0,0 @@ -[ Revised; now also changes CFLAGS-pt-initfini.s as suggested by - http://sources.redhat.com/ml/crossgcc/2004-07/msg00169.html - to not crash when building a debug glibc on mips ] - -Fixes errors like - -mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.o(.text+0x0):build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.S:20: multiple definition of `dummy' -mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crti.o(.text+0x0):build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crti.S:42: first defined here -mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.o(.text+0x18):build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.S:37: multiple definition of `_init' -mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crti.o(.text+0x30):build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crti.S:76: first defined here -mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.o(.init+0x1c):build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.S:86: multiple definition of `_fini' -mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crti.o(.init+0x10):build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crti.S:48: first defined here -mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crti.o(.init+0x28):build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crti.S:58: undefined reference to `i_am_not_a_leaf' -mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.o(.init+0x4c):build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.S:108: undefined reference to `i_am_not_a_leaf' -mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.o(.init+0x50):build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/crtn.S:109: undefined reference to `i_am_not_a_leaf' -collect2: ld returned 1 exit status -make[2]: *** [build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/linuxthreads/libpthread.so] Error 1 -make[2]: Leaving directory `build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/glibc-2.3.2/linuxthreads' -make[1]: *** [linuxthreads/others] Error 2 -make[1]: Leaving directory `build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/glibc-2.3.2' -make: *** [all] Error 2 - - -CVSROOT: /cvs/glibc -Module name: libc -Changes by: aj@sourceware.org 2003-12-02 07:37:29 - -Modified files: - . : configure.in configure config.make.in - csu : Makefile - locale : Makefile - linuxthreads : Makefile - linuxthreads/sysdeps/unix/sysv/linux/x86_64: Makefile - nptl : Makefile - nptl/sysdeps/unix/sysv/linux/x86_64: Makefile - -Log message: - * config.make.in (fno-unit-at-a-time): Define. - - * configure.in: Add test for -fno-unit-at-a-time. - Fix text for -fpie. - - * csu/Makefile (CFLAGS-initfini.s): Add $(fno_unit_at_a_time). - * locale/Makefile (CFLAGS-loadlocale.c): Likewise. - - For linuxthreads: - * Makefile (CFLAGS-pt-initfini.s): Add $(fno_unit_at_a_time). - * sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s): - Likewise. - - For nptl: - * Makefile (CFLAGS-pt-initfini.s): Add $(fno_unit_at_a_time). - * sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s): - Likewise. - -linuxthreads change retrieved with -wget -O foo.patch 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/Makefile.diff?r1=1.83&r2=1.84&cvsroot=glibc' \ -'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile.diff?r1=1.5&r2=1.6&cvsroot=glibc' - -and then rediffed against glibc-2.3.2 -And then extended to mips... - -=================================================================== -RCS file: /cvs/glibc/libc/linuxthreads/Makefile,v -retrieving revision 1.83 -retrieving revision 1.84 -diff -u -r1.83 -r1.84 ---- libc/linuxthreads/Makefile 2003/10/02 18:48:48 1.83 -+++ libc/linuxthreads/Makefile 2003/12/02 07:37:28 1.84 -@@ -101,7 +101,7 @@ - extra-objs += $(crti-objs) $(crtn-objs) - omit-deps += crti crtn - --CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions -+CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) - endif - - librt-tests = ex10 ex11 -=================================================================== -RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile,v -retrieving revision 1.5 -retrieving revision 1.6 -diff -u -r1.5 -r1.6 ---- libc/linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile 2003/04/11 23:34:02 1.5 -+++ libc/linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile 2003/12/02 07:37:28 1.6 -@@ -1,3 +1,4 @@ - ifeq ($(subdir),linuxthreads) --CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions -fno-asynchronous-unwind-tables -+CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions \ -+ -fno-asynchronous-unwind-tables $(fno-unit-at-a-time) - endif ---- glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/mips/Makefile.old 2004-05-30 18:24:41.000000000 -0700 -+++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/mips/Makefile 2004-05-30 18:28:03.000000000 -0700 -@@ -1,2 +1,6 @@ - # pull in __syscall_error routine - libpthread-routines += sysdep -+ -+ifeq ($(subdir),linuxthreads) -+CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) -+endif diff --git a/patches/glibc/linuxthreads-2.3.2/glibc-linuxthreads-2.3.2-cygwin.patch b/patches/glibc/linuxthreads-2.3.2/glibc-linuxthreads-2.3.2-cygwin.patch deleted file mode 100644 index a382a0a..0000000 --- a/patches/glibc/linuxthreads-2.3.2/glibc-linuxthreads-2.3.2-cygwin.patch +++ /dev/null @@ -1,30 +0,0 @@ -Goes with ../glibc-2.3.2/glibc-2.3.2-cygwin.patch - -If you apply the above patch, but forget this one, you get a cryptic error - .../bin/../x86_64-unknown-linux-gnu/sys-root/usr/lib64/: file not recognized: Is a directory -when linking with -lpthread, because the generated libpthread.so -is missing a filename - -by dank@kegel.com, 2004 Mar 30 - - ---- glibc-linuxthreads-2.3.2/linuxthreads/Makefile.old Tue Mar 30 10:33:12 2004 -+++ glibc-linuxthreads-2.3.2/linuxthreads/Makefile Tue Mar 30 10:33:24 2004 -@@ -114,7 +114,7 @@ - install: $(inst_libdir)/libpthread.so - $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \ - $(objpfx)libpthread.so$(libpthread.so-version) \ -- $(inst_libdir)/$(patsubst %,$(libtype.oS),\ -+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\ - $(libprefix)pthread) \ - $(+force) - (echo '/* GNU ld script';\ -@@ -122,7 +122,7 @@ - echo ' the static library, so try that secondarily. */';\ - cat $<; \ - echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \ -- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\ -+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\ - ')' \ - ) > $@.new - mv -f $@.new $@ diff --git a/patches/glibc/linuxthreads-2.3.2/sysdep-cancel-arm-1.2-1.6.patch b/patches/glibc/linuxthreads-2.3.2/sysdep-cancel-arm-1.2-1.6.patch deleted file mode 100644 index 09ae007..0000000 --- a/patches/glibc/linuxthreads-2.3.2/sysdep-cancel-arm-1.2-1.6.patch +++ /dev/null @@ -1,53 +0,0 @@ -I haven't built glibc-2.3.2 for arm myself, but -http://sources.redhat.com/ml/bug-glibc/2003-05/msg00076.html and -http://www.linux.org.uk/pipermail/linux-arm/2003-November/006560.html -give me the distinct impression that you need the latest sysdep-cancel.h from -cvs. - -Retrieved with - -http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h.diff?cvsroot=glibc&r1=text&tr1=1.2&r2=text&tr2=1.6&f=u - -=================================================================== -RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h,v -retrieving revision 1.2 -retrieving revision 1.6 -diff -u -r1.2 -r1.6 ---- libc/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h 2003/01/12 09:14:25 1.2 -+++ libc/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h 2003/06/06 17:31:40 1.6 -@@ -24,6 +24,17 @@ - - #if !defined NOT_IN_libc || defined IS_IN_libpthread - -+/* We push lr onto the stack, so we have to use ldmib instead of ldmia -+ to find the saved arguments. */ -+# ifdef PIC -+# undef DOARGS_5 -+# undef DOARGS_6 -+# undef DOARGS_7 -+# define DOARGS_5 str r4, [sp, $-4]!; ldr r4, [sp, $8]; -+# define DOARGS_6 mov ip, sp; stmfd sp!, {r4, r5}; ldmib ip, {r4, r5}; -+# define DOARGS_7 mov ip, sp; stmfd sp!, {r4, r5, r6}; ldmib ip, {r4, r5, r6}; -+# endif -+ - # undef PSEUDO_RET - # define PSEUDO_RET \ - ldrcc pc, [sp], $4; \ -@@ -34,7 +45,7 @@ - # define PSEUDO(name, syscall_name, args) \ - .section ".text"; \ - PSEUDO_PROLOGUE; \ -- ENTRY (name) \ -+ ENTRY (name); \ - SINGLE_THREAD_P_INT; \ - bne .Lpseudo_cancel; \ - DO_CALL (syscall_name, args); \ -@@ -110,7 +121,7 @@ - ldr reg, 2b; \ - 3: \ - add ip, pc, ip; \ -- ldr ip, [ip, lr]; \ -+ ldr ip, [ip, reg]; \ - teq ip, #0; - # define SINGLE_THREAD_P_INT \ - str lr, [sp, $-4]!; \ |