300-012_check_ldrunpath_length.patch 720 B

1234567891011121314151617181920
  1. --- a/ld/emultempl/elf32.em
  2. +++ b/ld/emultempl/elf32.em
  3. @@ -1219,6 +1219,8 @@ fragment <<EOF
  4. && command_line.rpath == NULL)
  5. {
  6. lib_path = (const char *) getenv ("LD_RUN_PATH");
  7. + if ((lib_path) && (strlen (lib_path) == 0))
  8. + lib_path = NULL;
  9. if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
  10. force))
  11. break;
  12. @@ -1404,6 +1406,8 @@ gld${EMULATION_NAME}_before_allocation (
  13. rpath = command_line.rpath;
  14. if (rpath == NULL)
  15. rpath = (const char *) getenv ("LD_RUN_PATH");
  16. + if ((rpath) && (strlen (rpath) == 0))
  17. + rpath = NULL;
  18. if (! (bfd_elf_size_dynamic_sections
  19. (link_info.output_bfd, command_line.soname, rpath,
  20. command_line.filter_shlib,