Mk/Uses: Add elfctl
Add USES=elfctl to change an ELF binary's feature control note. Example: USES= elfctl ELF_FEATURES= +noaslr,wxneeded:foo Reported by: emaste Approved by: brooks, tcberner (portmgr) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34125
This commit is contained in:
parent
0051e6859b
commit
092c4b37c1
2 changed files with 28 additions and 0 deletions
27
Mk/Uses/elfctl.mk
Normal file
27
Mk/Uses/elfctl.mk
Normal file
|
@ -0,0 +1,27 @@
|
|||
# Change an ELF binary's feature control note
|
||||
#
|
||||
# Feature: elfctl
|
||||
# Usage: USES=elfctl
|
||||
# Valid ARGS: none
|
||||
#
|
||||
# Variables
|
||||
#
|
||||
# ELF_FEATURES= featurelist:path/to/file1 \
|
||||
# featurelist:path/to/file1 \
|
||||
featurelist:path/to/file2
|
||||
#
|
||||
# The file paths listed in ELF_FEATURES are relative to ${BUILD_WRKSRC}.
|
||||
#
|
||||
|
||||
.if !defined(_INCLUDE_USES_ELFCTL_MK)
|
||||
_INCLUDE_USES_ELFCTL_MK= yes
|
||||
|
||||
. if ! empty(ELF_FEATURES)
|
||||
_USES_build+= 720:elfctl-post-build
|
||||
elfctl-post-build:
|
||||
. for feat in ${ELF_FEATURES}
|
||||
${ELFCTL} -i -e ${feat:C/:.*//} ${BUILD_WRKSRC}/${feat:C/.*://}
|
||||
. endfor
|
||||
. endif
|
||||
|
||||
.endif
|
|
@ -34,6 +34,7 @@ DIALOG4PORTS?= ${LOCALBASE}/bin/dialog4ports
|
|||
DIFF?= /usr/bin/diff
|
||||
DIRNAME?= /usr/bin/dirname
|
||||
EGREP?= /usr/bin/egrep
|
||||
ELFCTL?= /usr/bin/elfctl
|
||||
EXPR?= /bin/expr
|
||||
FALSE?= false # Shell builtin
|
||||
FILE?= /usr/bin/file
|
||||
|
|
Loading…
Reference in a new issue