patches/binutils/2.19.1/130-check_ldrunpath_length.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:28:10 2011 +0200 (2011-08-02)
changeset 2590 b64cfb67944e
permissions -rw-r--r--
scripts/functions: svn retrieval first tries the mirror for tarballs

The svn download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via svn.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard svn retrieval will kick in.

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1243
     1
Original patch from: ../crosstool-NG/ct-ng.trunk/patches/binutils/2.19/130-check_ldrunpath_length.patch
yann@1243
     2
yann@1243
     3
-= BEGIN original header =-
yann@1243
     4
Original patch from Gentoo:
yann@1243
     5
gentoo/src/patchsets/binutils/2.19/42_all_012_check_ldrunpath_length.patch
yann@1243
     6
yann@1243
     7
Originaly from Debian:
yann@1243
     8
## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
yann@1243
     9
##
yann@1243
    10
## All lines beginning with `## DP:' are a description of the patch.
yann@1243
    11
## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
yann@1243
    12
## DP: cases where -rpath isn't specified. (#151024)
yann@1243
    13
yann@1243
    14
-= END original header =-
yann@1243
    15
yann@1243
    16
diff -durN binutils-2.19.1.orig/ld/emultempl/elf32.em binutils-2.19.1/ld/emultempl/elf32.em
yann@1243
    17
--- binutils-2.19.1.orig/ld/emultempl/elf32.em	2008-09-07 06:02:31.000000000 +0200
yann@1243
    18
+++ binutils-2.19.1/ld/emultempl/elf32.em	2009-03-08 11:57:01.000000000 +0100
yann@1243
    19
@@ -1219,6 +1219,8 @@
yann@1243
    20
 	      && command_line.rpath == NULL)
yann@1243
    21
 	    {
yann@1243
    22
 	      lib_path = (const char *) getenv ("LD_RUN_PATH");
yann@1243
    23
+	      if ((lib_path) && (strlen (lib_path) == 0))
yann@1243
    24
+		  lib_path = NULL;
yann@1243
    25
 	      if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
yann@1243
    26
 						      force))
yann@1243
    27
 		break;
yann@1243
    28
@@ -1404,6 +1406,8 @@
yann@1243
    29
   rpath = command_line.rpath;
yann@1243
    30
   if (rpath == NULL)
yann@1243
    31
     rpath = (const char *) getenv ("LD_RUN_PATH");
yann@1243
    32
+  if ((rpath) && (strlen (rpath) == 0))
yann@1243
    33
+      rpath = NULL;
yann@1243
    34
   if (! (bfd_elf_size_dynamic_sections
yann@1243
    35
 	 (link_info.output_bfd, command_line.soname, rpath,
yann@1243
    36
 	  command_line.filter_shlib,