re PR lto/81968 (early lto debug objects make Solaris ld SEGV)

2017-08-28  Richard Biener  <rguenther@suse.de>

	PR lto/81968
	* simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
	Adjust field with for sh_type write, set SHF_EXCLUDE only for
	removed sections.

From-SVN: r251384
This commit is contained in:
Richard Biener 2017-08-28 13:14:28 +00:00 committed by Richard Biener
parent 950904f8b7
commit 1963f60adb
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2017-08-28 Richard Biener <rguenther@suse.de>
PR lto/81968
* simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
Adjust field with for sh_type write, set SHF_EXCLUDE only for
removed sections.
2017-08-22 Richard Biener <rguenther@suse.de>
PR lto/81925

View File

@ -1382,7 +1382,7 @@ simple_object_elf_copy_lto_debug_sections (simple_object_read *sobj,
unused. That allows the link editor to remove it in a partial
link. */
ELF_SET_FIELD (type_functions, ei_class, Shdr,
shdr, sh_type, Elf_Addr, SHT_NULL);
shdr, sh_type, Elf_Word, SHT_NULL);
}
flags = ELF_FETCH_FIELD (type_functions, ei_class, Shdr,
@ -1390,7 +1390,7 @@ simple_object_elf_copy_lto_debug_sections (simple_object_read *sobj,
if (ret == 0)
flags &= ~SHF_EXCLUDE;
else if (ret == -1)
flags |= SHF_EXCLUDE;
flags = SHF_EXCLUDE;
ELF_SET_FIELD (type_functions, ei_class, Shdr,
shdr, sh_flags, Elf_Addr, flags);
}