crosstool-ng/patches/glibc/ports-2.12.1/630-mips_shn_undef-hack.patch
Yann E. MORIN" 0edbdfd24c libc/glibc: update patchset, add ports patchset
Patchset provided by "Ioannis E. Venetis" <venetis@mail.capsl.udel.edu>
  http://sourceware.org/ml/crossgcc/2011-04/msg00072.html
  http://sourceware.org/ml/crossgcc/2011-04/msg00073.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-03 00:20:04 +02:00

17 lines
599 B
Diff

diff -durN glibc-2.12.1.orig/elf/dl-lookup.c glibc-2.12.1/elf/dl-lookup.c
--- glibc-2.12.1.orig/elf/dl-lookup.c 2009-03-30 23:14:32.000000000 +0200
+++ glibc-2.12.1/elf/dl-lookup.c 2009-11-13 00:51:36.000000000 +0100
@@ -301,6 +301,12 @@
/* FALLTHROUGH */
case STB_GLOBAL:
success:
+#ifdef __mips__
+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF
+ symbols, we skip them. */
+ if (sym->st_shndx == SHN_UNDEF)
+ break;
+#endif
/* Global definition. Just what we need. */
result->s = sym;
result->m = (struct link_map *) map;