libexec: Automatically generate rtld-elf list and generalise TAGS

Note that the pattern for matching is made slightly more specific, so as
to permit libcompats where one is a prefix of another (e.g. CheriBSD has
lib64 and lib64c).

Reviewed by:	brooks, jhb, emaste, imp, kib
Differential Revision:	https://reviews.freebsd.org/D41183
This commit is contained in:
Jessica Clarke 2023-07-27 05:10:45 +01:00
parent 949199a212
commit 195e50541e
2 changed files with 11 additions and 3 deletions

View file

@ -3,6 +3,8 @@
.include <src.opts.mk>
.include <bsd.compat.pre.mk>
SUBDIR= ${_atf} \
${_atrun} \
${_blacklistd-helper} \
@ -84,7 +86,9 @@ _tftp-proxy= tftp-proxy
.if !defined(NO_PIC) && !defined(NO_RTLD)
_rtld-elf= rtld-elf
SUBDIR.${MK_LIB32}+= rtld-elf32
.for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats}
SUBDIR.${MK_LIB${LIBCOMPAT}}+= rtld-elf${libcompat}
.endfor
.endif
.if ${MK_RBOOTD} != "no"

View file

@ -14,13 +14,17 @@ MK_ASAN= no
MK_SSP= no
MK_UBSAN= no
.include <bsd.compat.pre.mk>
.if !defined(NEED_COMPAT)
CONFS= libmap.conf
.endif
PROG?= ld-elf.so.1
.if (${PROG:M*ld-elf32*} != "")
TAGS+= lib32
.for _libcompat in ${_ALL_libcompats}
.if ${PROG:M*ld-elf${_libcompat}[-.]*} != ""
TAGS+= lib${_libcompat}
.endif
.endfor
SRCS= \
crtbrand.S \
rtld_start.S \