patches/glibc/2.1.3/glibc-2.1.3-allow-gcc3-errlist.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/2.1.3/glibc-2.1.3-allow-gcc3-errlist.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,48 @@
     1.4 +Backport from cvs 
     1.5 +
     1.6 +Fixes:
     1.7 +
     1.8 +../sysdeps/unix/sysv/linux/errlist.c:41: weak declaration of `_old_sys_nerr' must precede definition
     1.9 +make[2]: *** [/home/dank/downloads/crosstool-0.24/build/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.3/build-glibc/stdio-common/errlist.os] Error 1
    1.10 +
    1.11 +as well as breakage on arches where ; is a comment char in asm
    1.12 +
    1.13 +--- glibc-2.1.3/sysdeps/unix/sysv/linux/errlist.c.old	2004-03-05 15:32:21.000000000 -0800
    1.14 ++++ glibc-2.1.3/sysdeps/unix/sysv/linux/errlist.c	2004-03-05 15:39:39.000000000 -0800
    1.15 +@@ -24,13 +24,13 @@
    1.16 + # define SYS_ERRLIST __new_sys_errlist
    1.17 + # define SYS_NERR __new_sys_nerr
    1.18 + 
    1.19 +-asm (".data; .globl __old_sys_errlist;  __old_sys_errlist:");
    1.20 ++asm (".data\n\t.globl __old_sys_errlist\n\t __old_sys_errlist:");
    1.21 + #endif
    1.22 + 
    1.23 + #include <sysdeps/gnu/errlist.c>
    1.24 + 
    1.25 + #if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
    1.26 +-asm (".type __old_sys_errlist,@object;.size __old_sys_errlist,"
    1.27 ++asm (".type __old_sys_errlist,@object\n\t.size __old_sys_errlist,"
    1.28 +      OLD_ERRLIST_SIZE_STR "*" PTR_SIZE_STR);
    1.29 + 
    1.30 + extern const char *const *__old_sys_errlist;
    1.31 +@@ -38,17 +38,16 @@
    1.32 + const int __old_sys_nerr = OLD_ERRLIST_SIZE;
    1.33 + 
    1.34 + strong_alias (__old_sys_nerr, _old_sys_nerr);
    1.35 +-weak_alias (__old_sys_nerr, _old_sys_nerr)
    1.36 + symbol_version (__old_sys_nerr, _sys_nerr, GLIBC_2.0);
    1.37 + symbol_version (_old_sys_nerr, sys_nerr, GLIBC_2.0);
    1.38 +-weak_alias (__old_sys_errlist, _old_sys_errlist);
    1.39 ++strong_alias (__old_sys_errlist, _old_sys_errlist);
    1.40 + symbol_version (__old_sys_errlist, _sys_errlist, GLIBC_2.0);
    1.41 + symbol_version (_old_sys_errlist, sys_errlist, GLIBC_2.0);
    1.42 + 
    1.43 +-weak_alias (__new_sys_nerr, _new_sys_nerr)
    1.44 ++strong_alias (__new_sys_nerr, _new_sys_nerr)
    1.45 + default_symbol_version (__new_sys_nerr, _sys_nerr, GLIBC_2.1);
    1.46 + default_symbol_version (_new_sys_nerr, sys_nerr, GLIBC_2.1);
    1.47 +-weak_alias (__new_sys_errlist, _new_sys_errlist)
    1.48 ++strong_alias (__new_sys_errlist, _new_sys_errlist)
    1.49 + default_symbol_version (__new_sys_errlist, _sys_errlist, GLIBC_2.1);
    1.50 + default_symbol_version (_new_sys_errlist, sys_errlist, GLIBC_2.1);
    1.51 +