Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Nov 2023 04:34:17 GMT
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 8f2848eafa68 - main - crunchgen: fix "keep" for an ELF world, break it out
Message-ID:  <202311100434.3AA4YHxC067260@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kevans:

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

commit 8f2848eafa682f1af629f8ee5e32fec607ab0ba1
Author:     Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2023-11-10 04:33:58 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2023-11-10 04:33:58 +0000

    crunchgen: fix "keep" for an ELF world, break it out
    
    "keep" currently adds a leading underscore, which hasn't been useful or
    accurate since a.out days.  Preserve the symbol name as it's given
    rather than mangle it to match ELF-style symbol names.
    
    This was partially fixed back in
    6cd35234a092d ("Assume ELF-style symbol names now.") for crunchgen, but
    the keeplist wasn't changed to match it.
    
    While we're here, break it out to bsd.crunchgen.mk for later use in
    bsdbox.
    
    Reviewed by:    adrian, imp
    Differential Revision:  https://reviews.freebsd.org/D42499
---
 share/mk/bsd.crunchgen.mk             | 4 ++++
 usr.sbin/crunch/crunchgen/crunchgen.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/share/mk/bsd.crunchgen.mk b/share/mk/bsd.crunchgen.mk
index 182ca387fe2b..bdbb6c5a22b0 100644
--- a/share/mk/bsd.crunchgen.mk
+++ b/share/mk/bsd.crunchgen.mk
@@ -18,6 +18,7 @@
 #  CRUNCH_SRCDIR_${P}: base source directory for program ${P}
 #  CRUNCH_BUILDOPTS_${P}: additional build options for ${P}
 #  CRUNCH_ALIAS_${P}: additional names to be used for ${P}
+#  CRUNCH_KEEP_${P}: additional symbols to keep for ${P}
 #
 # By default, any name appearing in CRUNCH_PROGS or CRUNCH_ALIAS_${P}
 # will be used to generate a hard link to the resulting binary.
@@ -101,6 +102,9 @@ ${CONF}: Makefile
 .ifdef CRUNCH_LIBS_${P}
 	echo special ${P} lib ${CRUNCH_LIBS_${P}} >>${.TARGET}
 .endif
+.ifdef CRUNCH_KEEP_${P}
+	echo special ${P} keep ${CRUNCH_KEEP_${P}} >>${.TARGET}
+.endif
 .for A in ${CRUNCH_ALIAS_${P}}
 	echo ln ${P} ${A} >>${.TARGET}
 .endfor
diff --git a/usr.sbin/crunch/crunchgen/crunchgen.c b/usr.sbin/crunch/crunchgen/crunchgen.c
index dfde38ed0b70..7b5f892cffbe 100644
--- a/usr.sbin/crunch/crunchgen/crunchgen.c
+++ b/usr.sbin/crunch/crunchgen/crunchgen.c
@@ -1128,7 +1128,7 @@ prog_makefile_rules(FILE *outmk, prog_t *p)
 	fprintf(outmk, "\n");
 	fprintf(outmk, "\tcrunchide -k _crunched_%s_stub ", p->ident);
 	for (lst = p->keeplist; lst != NULL; lst = lst->next)
-		fprintf(outmk, "-k _%s ", lst->str);
+		fprintf(outmk, "-k %s ", lst->str);
 	fprintf(outmk, "%s.lo\n", p->name);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202311100434.3AA4YHxC067260>