patches/binutils/2.20.1a/140-check_ldrunpath_length.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Feb 25 21:19:31 2013 +0100 (2013-02-25)
changeset 3185 f89f8e6f8766
parent 2088 4f21ba5f8e91
permissions -rw-r--r--
Makefile: fix parrallel (-j) installs

Currently, we would remove previously installed patches before
installing the new ones. Unfortunately, that does not play well
with heavily parallel installs.

Now, we consider it is the responsibility of the user to first
uninstall any previous version before installing a new one.

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