diff --git a/package/base/glibc/glibc.conf b/package/base/glibc/glibc.conf index 2be0df163..5c687716b 100644 --- a/package/base/glibc/glibc.conf +++ b/package/base/glibc/glibc.conf @@ -231,18 +231,8 @@ fi glibc_prepatch() { - tarball="`echo $desc_D | grep linuxthreads | \ - sed 's/.* \(.*\.linuxthreads.*\) .*/\1/'`" - if [ "$tarball" ] ; then - tar $taropt $archdir/$tarball - fi - - if [ $pkg_glibc_version = 23 ] ; then - # add hppa patch if needed - if [ "$arch" = hppa ]; then - tar --use-compress-program=bzip2 -Oxf $archdir/glibc-hppa*.bz2 > $archdir/glibc-hppa-patches.diff - var_append patchfiles " " "$archdir/glibc-hppa-patches.diff" - fi + if [ -f $archdir/*linuxthreads*.tar.bz2 ]; then + tar $taropt $archdir/*linuxthreads*.tar.bz2 fi } diff --git a/package/base/glibc/glibc.desc b/package/base/glibc/glibc.desc index 24742bfd2..b0cba5edc 100644 --- a/package/base/glibc/glibc.desc +++ b/package/base/glibc/glibc.desc @@ -49,11 +49,9 @@ #endif #if xpkg == glibc23.* -[V] 2.3.4-2004-05-01 -#[D] 305952084 glibc-2.3.2.tar.bz2 ftp://sources.redhat.com/pub/glibc/releases/ -#[D] 4056606041 glibc-linuxthreads-2.3.2.tar.bz2 ftp://sources.redhat.com/pub/glibc/releases/ -[D] X glibc-2.3.4-2004-05-01.tar.bz2 cvs://pserver:anoncvs@sources.redhat.com:/cvs/glibc::libc/!2004-05-01/ -[D] 3614008728 glibc-hppa-patches-2004-05-01.tar.gz http://parisc-linux.org/~carlos/glibc-work/ +[V] 2.3.3 +[D] 3945721449 glibc-2.3.3.tar.bz2 ftp://sources.redhat.com/pub/glibc/releases/ +[D] 1226336353 glibc-linuxthreads-2.3.3.tar.bz2 ftp://sources.redhat.com/pub/glibc/releases/ #endif [CD] cp $cachedir/glibc2[23].cache $confdir/$pkg.cache diff --git a/package/base/glibc/glibc23/dl-runtime-fix.patch b/package/base/glibc/glibc23/dl-runtime-fix.patch new file mode 100644 index 000000000..20a45e547 --- /dev/null +++ b/package/base/glibc/glibc23/dl-runtime-fix.patch @@ -0,0 +1,40 @@ +--- ./elf/dl-runtime.c.orig 2004-09-02 12:06:09.000000000 +0200 ++++ ./elf/dl-runtime.c 2004-09-02 12:08:02.000000000 +0200 +@@ -46,6 +46,9 @@ + + #ifndef ELF_MACHINE_NO_PLT + static ElfW(Addr) __attribute_used__ ++#ifdef ELF_MACHINE_RUNTIME_FIXUP_ATTR ++ ELF_MACHINE_RUNTIME_FIXUP_ATTR ++#endif + fixup ( + # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS + ELF_MACHINE_RUNTIME_FIXUP_ARGS, +@@ -133,6 +136,9 @@ + #if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__ + + static ElfW(Addr) __attribute_used__ ++#ifdef ELF_MACHINE_RUNTIME_PROFILE_FIXUP_ATTR ++ ELF_MACHINE_RUNTIME_PROFILE_FIXUP_ATTR ++#endif + profile_fixup ( + #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS + ELF_MACHINE_RUNTIME_FIXUP_ARGS, +--- ./sysdeps/i386/dl-machine.h.orig 2004-09-02 12:05:52.000000000 +0200 ++++ ./sysdeps/i386/dl-machine.h 2004-09-02 12:08:20.000000000 +0200 +@@ -154,11 +154,13 @@ + destroys the passed register information. */ + /* GKM FIXME: Fix trampoline to pass bounds so we can do + without the `__unbounded' qualifier. */ ++#define ELF_MACHINE_RUNTIME_FIXUP_ATTR __attribute__ ((regparm (2))) ++#define ELF_MACHINE_RUNTIME_PROFILE_FIXUP_ATTR __attribute__ ((regparm (3))) + static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset) +- __attribute__ ((regparm (2), unused)); ++ __attribute_used__ ELF_MACHINE_RUNTIME_FIXUP_ATTR; + static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset, + ElfW(Addr) retaddr) +- __attribute__ ((regparm (3), unused)); ++ __attribute_used__ ELF_MACHINE_RUNTIME_PROFILE_FIXUP_ATTR; + # endif + + /* This code is used in dl-runtime.c to call the `fixup' function diff --git a/package/base/glibc/glibc23/gcc3.patch b/package/base/glibc/glibc23/gcc3.patch deleted file mode 100644 index b82ed0386..000000000 --- a/package/base/glibc/glibc23/gcc3.patch +++ /dev/null @@ -1,19 +0,0 @@ - -Older gcc (<3.4) are not able to honor the .rodata .section specification -correctly: - -../sysdeps/i386/i686/memcmp.S: Assembler messages: -../sysdeps/i386/i686/memcmp.S:390: Error: can't resolve `.rodata' - - Rene Rebe - ---- ./sysdeps/i386/i686/memcmp.S~ 2004-04-02 01:28:37.000000000 +0200 -+++ ./sysdeps/i386/i686/memcmp.S 2004-05-22 21:27:39.000000000 +0200 -@@ -351,7 +351,6 @@ - popl %esi - RETURN - -- .section .rodata - ALIGN (2) - L(table_32bytes) : - .long L(0bytes) - . + 0x0 diff --git a/package/base/glibc/glibc23/initfini-ccwrapper.patch b/package/base/glibc/glibc23/initfini-ccwrapper.patch index fcee17e00..85f461927 100644 --- a/package/base/glibc/glibc23/initfini-ccwrapper.patch +++ b/package/base/glibc/glibc23/initfini-ccwrapper.patch @@ -20,27 +20,24 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- - Make sure that the ROCK Linux CC Wrapper is not removing the CFLAGS stored in CFLAGS-initfini.s and CFLAGS-pt-initfini.s. --- ./csu/Makefile.orig 2001-07-23 20:53:37.000000000 +0300 +++ ./csu/Makefile 2002-06-23 09:25:47.000000000 +0300 -@@ -98,5 +98,6 @@ +@@ -98,5 +98,5 @@ $(objpfx)initfini.s: initfini.c - $(compile.c) -S $(CFLAGS-initfini.s) -finhibit-size-directive \ -+ CC_WRAPPER_APPEND="$$CC_WRAPPER_APPEND $(CFLAGS-initfini.s)" \ -+ $(compile.c) -S -finhibit-size-directive \ ++ CMD_WRAPPER_BYPASS=1 $(compile.c) -O -S $(CFLAGS-initfini.s) -finhibit-size-directive \ $(patsubst -f%,-fno-%,$(exceptions)) -o $@ --- ./linuxthreads/Makefile.orig 2002-01-21 05:21:14.000000000 +0200 +++ ./linuxthreads/Makefile 2002-06-23 12:25:10.000000000 +0300 -@@ -105,5 +105,6 @@ +@@ -105,5 +105,5 @@ $(objpfx)pt-initfini.s: pt-initfini.c - $(compile.c) -S $(CFLAGS-pt-initfini.s) -finhibit-size-directive \ -+ CC_WRAPPER_APPEND="$$CC_WRAPPER_APPEND $(CFLAGS-pt-initfini.s)" \ -+ $(compile.c) -S -finhibit-size-directive \ ++ CMD_WRAPPER_BYPASS=1 $(compile.c) -O -S $(CFLAGS-pt-initfini.s) -finhibit-size-directive \ $(patsubst -f%,-fno-%,$(exceptions)) -o $@