diff -r 000000000000 -r 366bd2b22675 patches/glibc/ports-2.10.1/630-mips_shn_undef-hack.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/glibc/ports-2.10.1/630-mips_shn_undef-hack.patch Thu Aug 05 17:59:51 2010 +0200 @@ -0,0 +1,24 @@ + Hack from Debian to hopefully get sandbox working on mips + +<`Kumba> ths: given the SHN_UNDEF thing is a hack, what's the preferred solution? + For fakeroot the simplest trigger is "fakeroot file /bin/ls". + `Kumba: I haven't found a better one yet. + Probably marker symbols around the stub section, and then exclude it from the link map. + This needs a ld change. + +diff -durN glibc-2.10.1.orig/elf/do-lookup.h glibc-2.10.1/elf/do-lookup.h +--- glibc-2.10.1.orig/elf/do-lookup.h 2009-03-30 23:14:32.000000000 +0200 ++++ glibc-2.10.1/elf/do-lookup.h 2009-11-13 00:51:36.000000000 +0100 +@@ -248,6 +248,12 @@ + } + /* FALLTHROUGH */ + case STB_GLOBAL: ++#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;