patches/binutils/2.20.1a/140-check_ldrunpath_length.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Dec 31 16:23:27 2011 +0100 (2011-12-31)
changeset 2814 3dc2727ebffc
parent 2088 4f21ba5f8e91
permissions -rw-r--r--
cc/gcc: add option to use system zlib

In some cases, it might be desirable to use the system zlib

Eg. because latest gcc seem to be totally borked when it comes
to multilib, and tries to build a multilib host zlib, when it
is *absolutely* *not* needed: we want mulitlib on the target,
not on the host! Sigh... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.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,