git: f22bd73428dd - stable/13 - libdtrace: Do not set SHF_ALLOC on SUNW_dof relocation sections

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Tue, 11 Apr 2023 14:10:37 UTC
The branch stable/13 has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=f22bd73428ddff199ee3f4554df2bf761bed5aba

commit f22bd73428ddff199ee3f4554df2bf761bed5aba
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-04-04 15:21:51 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-04-11 14:10:24 +0000

    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
    
    (cherry picked from commit 27f35b7dd418a82cf2f5bb618bd4bb7e81253f3a)
---
 cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
index 927b4415409d..d95b11501b17 100644
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
@@ -572,7 +572,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;
@@ -715,7 +715,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;