patches/binutils/2.18.50.0.7/120-check-ldrunpath-length.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jun 11 21:47:19 2009 +0000 (2009-06-11)
branch1.4
changeset 1451 25d050084e98
parent 506 ac951c5d22cb
permissions -rw-r--r--
populate: fix installing dynamic linker 'ld.so'

The dynamic linker, ld.so, needs the execute bit to be set.
Detect tht the library being installed is in fact ld.so and
install it with 0755 instead of 0644.

Fix detecting src == dst.

Use a simpler command to copy src -> dst.

Also change echo to printf, get rid of 'echo -n', which is
highly non-portable.


-------- diffstat follows --------
/trunk/scripts/populate.in | 76 43 33 0 +++++++++++++++++++++++++++++-----------------------
1 file changed, 43 insertions(+), 33 deletions(-)
(transplanted from d7ddcb75e0f703e2ba6d17169167356389224870)
     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,