mirror of
https://git.FreeBSD.org/src.git
synced 2024-11-26 07:55:01 +00:00
libdtrace: Do not set SHF_ALLOC on SUNW_dof relocation sections
The section will contain static relocations which do not need to be preserved after linking, and moreover these relocations may reference symbols that end up getting removed. Do not set SHF_ALLOC and instead let the linker decide what needs to be done. PR: 258872 MFC after: 1 week Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
91ef6f14f2
commit
27f35b7dd4
@ -582,7 +582,7 @@ dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd)
|
||||
} else {
|
||||
shp = &elf_file.shdr[ESHDR_REL];
|
||||
shp->sh_name = 37; /* DTRACE_SHSTRTAB32[37] = ".rel.SUNW_dof" */
|
||||
shp->sh_flags = SHF_ALLOC;
|
||||
shp->sh_flags = 0;
|
||||
shp->sh_type = SHT_REL;
|
||||
shp->sh_entsize = sizeof (de.de_rel[0]);
|
||||
shp->sh_link = ESHDR_SYMTAB;
|
||||
@ -739,7 +739,7 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd)
|
||||
} else {
|
||||
shp = &elf_file.shdr[ESHDR_REL];
|
||||
shp->sh_name = 37; /* DTRACE_SHSTRTAB64[37] = ".rel.SUNW_dof" */
|
||||
shp->sh_flags = SHF_ALLOC;
|
||||
shp->sh_flags = 0;
|
||||
shp->sh_type = SHT_RELA;
|
||||
shp->sh_entsize = sizeof (de.de_rel[0]);
|
||||
shp->sh_link = ESHDR_SYMTAB;
|
||||
|
Loading…
Reference in New Issue
Block a user