patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.60.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.60.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,53 @@
     1.4 +Message-ID: <20040926095115.9204.qmail@webmail-2-5.mesa1.secureserver.net>
     1.5 +Date: Sun, 26 Sep 2004 02:51:15 -0700
     1.6 +From: ml@bitbash.net
     1.7 +Subject: RE: crosstool-0.28-rc36: ld.so.1 undefined reference
     1.8 +To: Dan Kegel <dank@kegel.com>
     1.9 +cc: crossgcc@sources.redhat.com
    1.10 +
    1.11 +gcc-3.4.0-glibc-2.2.5 barfs with a few undefined refereces and multiple
    1.12 +definitions. The follwing patch seems to take care of the undefined
    1.13 +reference of __dl_runtime_resolve symbol. 
    1.14 +
    1.15 +Filename: patches/glibc-2.2.5/glibc-2.2.5-mips-dl-machine-1.60.patch 
    1.16 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1.17 +Retrieved with
    1.18 +wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/mips/dl-machine.h.diff?r1=1.59&r2=1.60&cvsroot=glibc'
    1.19 +See http://sources.redhat.com/ml/libc-alpha/2002-02/msg00091.html
    1.20 +See also glibc-2.2.5-mips-build-gmon.patch, which takes care of the other part of this for mips.
    1.21 +
    1.22 +ChangeLog:
    1.23 +        sysdeps/mips/dl-machine.h (elf_machine_matches_host): Use
    1.24 +        __attribute_used__.
    1.25 +        (__dl_runtime_resolve): Likewise.
    1.26 +
    1.27 +Fixes error
    1.28 +
    1.29 +/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:
    1.30 +undefined reference to `__dl_runtime_resolve'
    1.31 +
    1.32 +===================================================================
    1.33 +RCS file: /cvs/glibc/libc/sysdeps/mips/dl-machine.h,v
    1.34 +retrieving revision 1.59
    1.35 +retrieving revision 1.60
    1.36 +diff -u -r1.59 -r1.60
    1.37 +--- libc/sysdeps/mips/dl-machine.h	2002/02/03 00:29:15	1.59
    1.38 ++++ libc/sysdeps/mips/dl-machine.h	2002/02/08 18:56:57	1.60
    1.39 +@@ -69,7 +69,7 @@
    1.40 +    } while (0)
    1.41 + 
    1.42 + /* Return nonzero iff ELF header is compatible with the running host.  */
    1.43 +-static inline int __attribute__ ((unused))
    1.44 ++static inline int __attribute_used__
    1.45 + elf_machine_matches_host (const ElfW(Ehdr) *ehdr)
    1.46 + {
    1.47 +   switch (ehdr->e_machine)
    1.48 +@@ -262,7 +262,7 @@
    1.49 + /* This is called from assembly stubs below which the compiler can't see.  */ \
    1.50 + static ElfW(Addr)							      \
    1.51 + __dl_runtime_resolve (ElfW(Word), ElfW(Word), ElfW(Addr), ElfW(Addr))	      \
    1.52 +-		  __attribute__ ((unused));				      \
    1.53 ++		  __attribute_used__;					      \
    1.54 + 									      \
    1.55 + static ElfW(Addr)							      \
    1.56 + __dl_runtime_resolve (ElfW(Word) sym_index,				      \