300-012_check_ldrunpath_length.patch 724 B

1234567891011121314151617181920
  1. --- a/ld/emultempl/elf32.em
  2. +++ b/ld/emultempl/elf32.em
  3. @@ -1198,6 +1198,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. @@ -1461,6 +1463,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. for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
  19. if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)