patches/binutils/2.20.1/140-check_ldrunpath_length.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 18 23:00:46 2011 +0200 (2011-05-18)
changeset 2467 200836977ce6
parent 1621 60446d2e5660
permissions -rw-r--r--
config: rename variables that are arrays

Make it explicit that a variable is an array bu the name of the variable.
It will be used later when .config gets munged to allow both multiple
arguments and arguments with spaces at the same time to be passed from the
configuration down to the build scripts.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1614
     1
#!/bin/sh -e
yann@1614
     2
## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
yann@1614
     3
##
yann@1614
     4
## All lines beginning with `## DP:' are a description of the patch.
yann@1614
     5
## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
yann@1614
     6
## DP: cases where -rpath isn't specified. (#151024)
yann@1614
     7
yann@1614
     8
if [ $# -ne 1 ]; then
yann@1614
     9
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
yann@1614
    10
    exit 1
yann@1614
    11
fi
yann@1614
    12
yann@1614
    13
[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
yann@1614
    14
patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
yann@1614
    15
yann@1614
    16
case "$1" in
yann@1614
    17
       -patch) patch $patch_opts -p1 < $0;;
yann@1614
    18
       -unpatch) patch $patch_opts -p1 -R < $0;;
yann@1614
    19
        *)
yann@1614
    20
                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
yann@1614
    21
                exit 1;;
yann@1614
    22
esac
yann@1614
    23
yann@1614
    24
exit 0
yann@1614
    25
yann@1614
    26
@DPATCH@
yann@1614
    27
diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
yann@2088
    28
yann@2088
    29
diff -durN binutils-2.20.1.orig/ld/emultempl/elf32.em binutils-2.20.1/ld/emultempl/elf32.em
yann@2088
    30
--- binutils-2.20.1.orig/ld/emultempl/elf32.em	2009-09-14 13:43:30.000000000 +0200
yann@2088
    31
+++ binutils-2.20.1/ld/emultempl/elf32.em	2010-08-17 19:32:09.000000000 +0200
yann@2088
    32
@@ -1233,6 +1233,8 @@
yann@1614
    33
 	      && command_line.rpath == NULL)
yann@1614
    34
 	    {
yann@1614
    35
 	      lib_path = (const char *) getenv ("LD_RUN_PATH");
yann@1614
    36
+	      if ((lib_path) && (strlen (lib_path) == 0))
yann@1614
    37
+		  lib_path = NULL;
yann@1614
    38
 	      if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
yann@1614
    39
 						      force))
yann@1614
    40
 		break;
yann@2088
    41
@@ -1418,6 +1420,8 @@
yann@1614
    42
   rpath = command_line.rpath;
yann@1614
    43
   if (rpath == NULL)
yann@1614
    44
     rpath = (const char *) getenv ("LD_RUN_PATH");
yann@1614
    45
+  if ((rpath) && (strlen (rpath) == 0))
yann@1614
    46
+      rpath = NULL;
yann@1614
    47
   if (! (bfd_elf_size_dynamic_sections
fr@1621
    48
 	 (link_info.output_bfd, command_line.soname, rpath,
yann@1614
    49
 	  command_line.filter_shlib,