patches/glibc/ports-2.12.1/630-mips_shn_undef-hack.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:45:22 2012 +0100 (2012-12-27)
changeset 3152 b286c7993be5
permissions -rw-r--r--
scripts/addToolsVersion: properly handle .in vs. .in.2

While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).

Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.

So, for each tool, we need to explicitly know what file to munge.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 diff -durN glibc-2.12.1.orig/elf/dl-lookup.c glibc-2.12.1/elf/dl-lookup.c
     2 --- glibc-2.12.1.orig/elf/dl-lookup.c	2009-03-30 23:14:32.000000000 +0200
     3 +++ glibc-2.12.1/elf/dl-lookup.c	2009-11-13 00:51:36.000000000 +0100
     4 @@ -301,6 +301,12 @@
     5  	      /* FALLTHROUGH */
     6  	    case STB_GLOBAL:
     7 	    success:
     8 +#ifdef __mips__
     9 +	      /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF
    10 +		 symbols, we skip them. */
    11 +	      if (sym->st_shndx == SHN_UNDEF)
    12 +		break;
    13 +#endif
    14  	      /* Global definition.  Just what we need.  */
    15  	      result->s = sym;
    16  	      result->m = (struct link_map *) map;