patches/binutils/2.20/140-check_ldrunpath_length.patch
author Remy Bohmer <linux@bohmer.net>
Thu May 27 23:18:19 2010 +0200 (2010-05-27)
changeset 2060 51e4597b07fc
parent 1614 3f76cdbceb6e
permissions -rw-r--r--
scripts: add option to strip all toolchain executables

To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
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@1614
    28
--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em	2004-05-21 23:12:58.000000000 +0100
fr@1621
    29
+++ binutils-2.20/ld/emultempl/elf32.em	2004-05-21 23:12:59.000000000 +0100
yann@1614
    30
@@ -692,6 +692,8 @@
yann@1614
    31
 	      && command_line.rpath == NULL)
yann@1614
    32
 	    {
yann@1614
    33
 	      lib_path = (const char *) getenv ("LD_RUN_PATH");
yann@1614
    34
+	      if ((lib_path) && (strlen (lib_path) == 0))
yann@1614
    35
+		  lib_path = NULL;
yann@1614
    36
 	      if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
yann@1614
    37
 						      force))
yann@1614
    38
 		break;
yann@1614
    39
@@ -871,6 +873,8 @@
yann@1614
    40
   rpath = command_line.rpath;
yann@1614
    41
   if (rpath == NULL)
yann@1614
    42
     rpath = (const char *) getenv ("LD_RUN_PATH");
yann@1614
    43
+  if ((rpath) && (strlen (rpath) == 0))
yann@1614
    44
+      rpath = NULL;
yann@1614
    45
   if (! (bfd_elf_size_dynamic_sections
fr@1621
    46
 	 (link_info.output_bfd, command_line.soname, rpath,
yann@1614
    47
 	  command_line.filter_shlib,