yann@1069: Original patch from Gentoo: yann@1069: gentoo/src/patchsets/binutils/2.19/42_all_012_check_ldrunpath_length.patch yann@1069: yann@1069: Originaly from Debian: yann@1069: ## 012_check_ldrunpath_length.dpatch by Chris Chimelis yann@1069: ## yann@1069: ## All lines beginning with `## DP:' are a description of the patch. yann@1069: ## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for yann@1069: ## DP: cases where -rpath isn't specified. (#151024) yann@1069: yann@1069: diff -durN binutils-2.19.orig/ld/emultempl/elf32.em binutils-2.19/ld/emultempl/elf32.em yann@1069: --- binutils-2.19.orig/ld/emultempl/elf32.em 2008-09-07 06:02:31.000000000 +0200 yann@1069: +++ binutils-2.19/ld/emultempl/elf32.em 2008-11-23 16:25:51.000000000 +0100 yann@1069: @@ -1219,6 +1219,8 @@ yann@1069: && command_line.rpath == NULL) yann@1069: { yann@1069: lib_path = (const char *) getenv ("LD_RUN_PATH"); yann@1069: + if ((lib_path) && (strlen (lib_path) == 0)) yann@1069: + lib_path = NULL; yann@1069: if (gld${EMULATION_NAME}_search_needed (lib_path, &n, yann@1069: force)) yann@1069: break; yann@1069: @@ -1404,6 +1406,8 @@ yann@1069: rpath = command_line.rpath; yann@1069: if (rpath == NULL) yann@1069: rpath = (const char *) getenv ("LD_RUN_PATH"); yann@1069: + if ((rpath) && (strlen (rpath) == 0)) yann@1069: + rpath = NULL; yann@1069: if (! (bfd_elf_size_dynamic_sections yann@1069: (link_info.output_bfd, command_line.soname, rpath, yann@1069: command_line.filter_shlib,