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 Sun May 27 21:15:46 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 +