patches/binutils/2.18.50.0.4/120-check-ldrunpath-length.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Jan 05 20:37:03 2009 +0000 (2009-01-05)
changeset 1124 eec7a46a4c19
parent 475 150c918bcb7b
child 1241 d9bcfb2d7369
permissions -rw-r--r--
Fix C library addons extraction:
- renaming the dircetory in CT_ExtratAndPatch is wrong:
- patches against the C library addons may be build against the short *or* long name... :-(
- symlink is more robust, even if less nice
- renaming the directory _after_ CT_ExtractAndPatch is too late:
- if patches are against the short name, and we renamed too the long name, patches don't apply
- so we'll never reach the point where we rename

/trunk/scripts/build/libc/glibc.sh | 1 0 1 0 -
/trunk/scripts/build/libc/eglibc.sh | 1 0 1 0 -
/trunk/scripts/functions | 2 1 1 0 +-
3 files changed, 1 insertion(+), 3 deletions(-)
     1 Check LD_RUN_PATH length, copied from buildroot.
     2 
     3  binutils-2.18.50.0.6/ld/emultempl/elf32.em |    4     4     0     0 ++++
     4  1 file changed, 4 insertions(+)
     5 
     6 diff -durN binutils-2.18.50.0.6.orig/ld/emultempl/elf32.em binutils-2.18.50.0.6/ld/emultempl/elf32.em
     7 --- binutils-2.18.50.0.6.orig/ld/emultempl/elf32.em	2008-04-03 18:54:25.000000000 +0200
     8 +++ binutils-2.18.50.0.6/ld/emultempl/elf32.em	2008-05-02 23:30:08.000000000 +0200
     9 @@ -1220,6 +1220,8 @@
    10  	      && command_line.rpath == NULL)
    11  	    {
    12  	      lib_path = (const char *) getenv ("LD_RUN_PATH");
    13 +	      if ((lib_path) && (strlen (lib_path) == 0))
    14 +		  lib_path = NULL;
    15  	      if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
    16  						      force))
    17  		break;
    18 @@ -1405,6 +1407,8 @@
    19    rpath = command_line.rpath;
    20    if (rpath == NULL)
    21      rpath = (const char *) getenv ("LD_RUN_PATH");
    22 +  if ((rpath) && (strlen (rpath) == 0))
    23 +      rpath = NULL;
    24    if (! (bfd_elf_size_dynamic_sections
    25  	 (link_info.output_bfd, command_line.soname, rpath,
    26  	  command_line.filter_shlib,