git: c6081dea597a - main - Add elfctl to toolchain.

Marcin Wojtas mw at FreeBSD.org
Fri May 21 13:34:51 UTC 2021


The branch main has been updated by mw:

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

commit c6081dea597a475e4bbcc8588ece03ae78b58978
Author:     Marcin Wojtas <mw at FreeBSD.org>
AuthorDate: 2021-05-21 09:27:27 +0000
Commit:     Marcin Wojtas <mw at FreeBSD.org>
CommitDate: 2021-05-21 13:32:42 +0000

    Add elfctl to toolchain.
    
    Add elfctl program to toolchain to allow modifying ELF feature flags
    during system build.
    
    Submitted by: Dawid Gorecki <dgr at semihalf.com>
    Obtained from: Semihalf
    Sponsored by: Stormshield
    Differential Revision: https://reviews.freebsd.org/D29552
---
 Makefile.inc1   | 8 +++++---
 share/mk/sys.mk | 2 ++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Makefile.inc1 b/Makefile.inc1
index 5ae1ec72c279..5fd1fe81c2e7 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -199,7 +199,7 @@ MK_SYSTEM_LINKER=	no
 .if defined(CROSS_TOOLCHAIN_PREFIX)
 CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
 .endif
-XBINUTILS=	AS AR LD NM OBJCOPY RANLIB SIZE STRINGS STRIPBIN
+XBINUTILS=	AS AR ELFCTL LD NM OBJCOPY RANLIB SIZE STRINGS STRIPBIN
 .for BINUTIL in ${XBINUTILS}
 .if defined(CROSS_BINUTILS_PREFIX) && \
     exists(${CROSS_BINUTILS_PREFIX}/${${BINUTIL}})
@@ -794,8 +794,8 @@ HMAKE+=		PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT
 
 CROSSENV+=	CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCXXFLAGS} ${XCFLAGS}" \
 		CPP="${XCPP} ${XCFLAGS}" \
-		AS="${XAS}" AR="${XAR}" LD="${XLD}" LLVM_LINK="${XLLVM_LINK}" \
-		NM=${XNM} OBJCOPY="${XOBJCOPY}" \
+		AS="${XAS}" AR="${XAR}" ELFCTL="${XELFCTL}" LD="${XLD}" \
+		LLVM_LINK="${XLLVM_LINK}" NM=${XNM} OBJCOPY="${XOBJCOPY}" \
 		RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \
 		SIZE="${XSIZE}" STRIPBIN="${XSTRIPBIN}"
 
@@ -2600,6 +2600,7 @@ _dtrace_tools= cddl/lib/libctf cddl/lib/libspl cddl/usr.bin/ctfconvert \
 .if ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no"
 _elftctools=	lib/libelftc \
 		lib/libpe \
+		usr.bin/elfctl \
 		usr.bin/objcopy \
 		usr.bin/nm \
 		usr.bin/size \
@@ -2613,6 +2614,7 @@ _elftctools+=	usr.bin/addr2line
 # the target (for at least crunchide).
 _elftctools=	lib/libelftc \
 		lib/libpe \
+		usr.bin/elfctl \
 		usr.bin/objcopy
 .endif
 
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index 8f456b28593a..89ac2c549656 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -210,6 +210,8 @@ ECHODIR		?=	true
 .endif
 .endif
 
+ELFCTL		?=	elfctl
+
 .if ${.MAKEFLAGS:M-N}
 # bmake -N is supposed to skip executing anything but it does not skip
 # exeucting '+' commands.  The '+' feature is used where .MAKE


More information about the dev-commits-src-all mailing list