mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-04-17 22:39:43 +00:00
Revert "arm/execstack: remove, no longer needed"
Some of the soon-to-be-added FVPs have the execute issue still. So, re-add this until it can be resolved. Also, address S issue that changed upstream between the original removal and now. Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
23
meta-arm/recipes-devtools/fvp/execstack-native.bb
Normal file
23
meta-arm/recipes-devtools/fvp/execstack-native.bb
Normal file
@@ -0,0 +1,23 @@
|
||||
SUMMARY = "execstack tool"
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
|
||||
|
||||
DEPENDS = "binutils-native elfutils-native"
|
||||
|
||||
SRC_URI = "git://git.yoctoproject.org/prelink-cross;protocol=https;branch=master"
|
||||
SRCREV = "ff2561c02ade96c5d4d56ddd4e27ff064840a176"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
|
||||
# The last tagged release was 20151030. Track this as a git tree to
|
||||
# see if there are any updates
|
||||
UPSTREAM_CHECK_COMMITS = "1"
|
||||
|
||||
inherit autotools native
|
||||
|
||||
do_compile() {
|
||||
oe_runmake -C ${B}/src execstack
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake -C ${B}/src install-binPROGRAMS DESTDIR="${D}"
|
||||
}
|
||||
26
meta-arm/recipes-devtools/fvp/remove-execstack.inc
Normal file
26
meta-arm/recipes-devtools/fvp/remove-execstack.inc
Normal file
@@ -0,0 +1,26 @@
|
||||
# Clear the executable stack flag on named shared libraries. This are typically
|
||||
# not needed, and glibc 2.41 will refuse to dlopen() a library that expects
|
||||
# an executable stack.
|
||||
#
|
||||
# The stack permissions can be checked with readelf -lW <.so> | grep GNU_STACK.
|
||||
# RW is read/write, RWE is read/write/execute.
|
||||
|
||||
DEPENDS += "execstack-native"
|
||||
|
||||
REMOVE_EXECSTACKS ?= ""
|
||||
|
||||
do_install:append() {
|
||||
for SO in ${REMOVE_EXECSTACKS}; do
|
||||
NAME=$(basename $SO)
|
||||
SO=${D}$SO
|
||||
|
||||
test -f $SO || bbfatal remove-execstack: cannot find $SO
|
||||
|
||||
if execstack --query $SO | grep -q ^X; then
|
||||
bbnote "Stripping executable stack bit on $NAME"
|
||||
execstack --clear-execstack $SO
|
||||
else
|
||||
bbwarn "Executable stack stripping no longer required for $NAME, remove"
|
||||
fi
|
||||
done
|
||||
}
|
||||
Reference in New Issue
Block a user