Don't have first_hash entries of strings that can be freed.
Seen running "LTO 1" under valgrind.
==
1443263== Invalid read of size 1
==
1443263== at 0x484CFE4: strcmp (vg_replace_strmem.c:939)
==
1443263== by 0x56E16C: bfd_hash_lookup (hash.c:564)
==
1443263== by 0x5A3C8F: elf_link_add_to_first_hash (elflink.c:4316)
==
1443263== by 0x5AE60F: elf_link_add_object_symbols (elflink.c:5663)
==
1443263== by 0x5B0672: bfd_elf_link_add_symbols (elflink.c:6333)
==
1443263== by 0x41448F: load_symbols (ldlang.c:3129)
==
1443263== by 0x4149D8: open_input_bfds (ldlang.c:3621)
==
1443263== by 0x414968: open_input_bfds (ldlang.c:3569)
==
1443263== by 0x4166A2: lang_process (ldlang.c:8162)
==
1443263== by 0x4194D5: main (ldmain.c:504)
==
1443263== Address 0x525e230 is 192 bytes inside a block of size 4,064 free'd
==
1443263== at 0x484810F: free (vg_replace_malloc.c:974)
==
1443263== by 0x8D4D87: objalloc_free_block (objalloc.c:248)
==
1443263== by 0x5AEACC: elf_link_add_object_symbols (elflink.c:5790)
==
1443263== by 0x5B0672: bfd_elf_link_add_symbols (elflink.c:6333)
==
1443263== by 0x41448F: load_symbols (ldlang.c:3129)
==
1443263== by 0x4149D8: open_input_bfds (ldlang.c:3621)
==
1443263== by 0x414968: open_input_bfds (ldlang.c:3569)
==
1443263== by 0x4166A2: lang_process (ldlang.c:8162)
==
1443263== by 0x4194D5: main (ldmain.c:504)
PR ld/31482
PR ld/31489
* elflink.c (elf_link_add_to_first_hash): Add "copy" param.
(elf_link_add_object_symbols): Flag that name must be copied
when appending version string to symbol name.