patches/binutils/2.22/300-012_check_ldrunpath_length.patch
author Yann Diorcet <diorcet.yann@gmail.com>
Mon Nov 19 21:45:09 2012 +0100 (2012-11-19)
changeset 3121 5016315d88ba
permissions -rw-r--r--
binutils/binutils: simplify gold dependencies

In preparation of adding a new kernel-type, Yann D. came up
with a change in semantic on binutils/gold availability.

So far, it was architectures' responsibility to declare that
they did support binutils/gold or not. It makes much more sense
that binutils/gold declares its own availability depending on
the current architecture; after all, architectures have no way
to know wether gold supports them, while gold does know it.

Signed-off-by:Yann Diorcet <diorcet.yann@gmail.com>
[yann.morin.1998@free.fr: split up original patch for self-contained changes]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <d3d1d51f399e6d2c1163.1353320546@macbook-smorlat.local>
Patchwork-Id: 199971
     1 diff -durN binutils-2.22.orig/ld/emultempl/elf32.em binutils-2.22/ld/emultempl/elf32.em
     2 --- binutils-2.22.orig/ld/emultempl/elf32.em	2011-11-21 10:29:39.000000000 +0100
     3 +++ binutils-2.22/ld/emultempl/elf32.em	2011-12-14 19:52:12.880783238 +0100
     4 @@ -1273,6 +1273,8 @@
     5  	      && command_line.rpath == NULL)
     6  	    {
     7  	      lib_path = (const char *) getenv ("LD_RUN_PATH");
     8 +	      if ((lib_path) && (strlen (lib_path) == 0))
     9 +	      	lib_path = NULL;
    10  	      if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
    11  						      force))
    12  		break;
    13 @@ -1500,6 +1502,8 @@
    14    rpath = command_line.rpath;
    15    if (rpath == NULL)
    16      rpath = (const char *) getenv ("LD_RUN_PATH");
    17 +  if ((rpath) && (strlen (rpath) == 0))
    18 +  	rpath = NULL;
    19  
    20    for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
    21      if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)