patches/glibc/ports-2.10.1/630-mips_shn_undef-hack.patch
author Yann Diorcet <diorcet.yann@gmail.com>
Mon Nov 19 11:19:54 2012 +0100 (2012-11-19)
changeset 3117 2b64e1b502cd
permissions -rw-r--r--
binutils/sstrip: remove

sstrip has been obsoleted for a while now, as it's still broken
for some archs, and there seems to be no incentive to fix it
upstream. Besides, the space gained with sstrip is marginal at
best.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <65c8bf534d0647ce52cd.1353320545@macbook-smorlat.local>
Patchwork-Id: 199970
yann@1625
     1
	Hack from Debian to hopefully get sandbox working on mips
yann@1625
     2
yann@1625
     3
<`Kumba> ths: given the SHN_UNDEF thing is a hack, what's the preferred solution?
yann@1625
     4
<ths> For fakeroot the simplest trigger is "fakeroot file /bin/ls".
yann@1625
     5
<ths> `Kumba: I haven't found a better one yet.
yann@1625
     6
<ths> Probably marker symbols around the stub section, and then exclude it from the link map.
yann@1625
     7
<ths> This needs a ld change.
yann@1625
     8
yann@1625
     9
diff -durN glibc-2.10.1.orig/elf/do-lookup.h glibc-2.10.1/elf/do-lookup.h
yann@1625
    10
--- glibc-2.10.1.orig/elf/do-lookup.h	2009-03-30 23:14:32.000000000 +0200
yann@1625
    11
+++ glibc-2.10.1/elf/do-lookup.h	2009-11-13 00:51:36.000000000 +0100
yann@1625
    12
@@ -248,6 +248,12 @@
yann@1625
    13
 		}
yann@1625
    14
 	      /* FALLTHROUGH */
yann@1625
    15
 	    case STB_GLOBAL:
yann@1625
    16
+#ifdef __mips__
yann@1625
    17
+	      /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF
yann@1625
    18
+		 symbols, we skip them. */
yann@1625
    19
+	      if (sym->st_shndx == SHN_UNDEF)
yann@1625
    20
+		break;
yann@1625
    21
+#endif
yann@1625
    22
 	      /* Global definition.  Just what we need.  */
yann@1625
    23
 	      result->s = sym;
yann@1625
    24
 	      result->m = (struct link_map *) map;