patches/binutils/2.17.50.0.10/300-012_check_ldrunpath_length.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
     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 --- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em	2004-05-21 23:12:58.000000000 +0100
    29 +++ binutils-2.15/ld/emultempl/elf32.em	2004-05-21 23:12:59.000000000 +0100
    30 @@ -692,6 +692,8 @@
    31  	      && command_line.rpath == NULL)
    32  	    {
    33  	      lib_path = (const char *) getenv ("LD_RUN_PATH");
    34 +	      if ((lib_path) && (strlen (lib_path) == 0))
    35 +		  lib_path = NULL;
    36  	      if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
    37  						      force))
    38  		break;
    39 @@ -871,6 +873,8 @@
    40    rpath = command_line.rpath;
    41    if (rpath == NULL)
    42      rpath = (const char *) getenv ("LD_RUN_PATH");
    43 +  if ((rpath) && (strlen (rpath) == 0))
    44 +      rpath = NULL;
    45    if (! (bfd_elf_size_dynamic_sections
    46  	 (output_bfd, command_line.soname, rpath,
    47  	  command_line.filter_shlib,