File tree 7 files changed +13
-6
lines changed
7 files changed +13
-6
lines changed Original file line number Diff line number Diff line change 114
114
patchelf = patchelfFor nixpkgs . legacyPackages . ${ system } ;
115
115
default = self . packages . ${ system } . patchelf ;
116
116
117
+ # This is a good test to see if packages can be cross-compiled. It also
118
+ # tests if our testsuite uses target-prefixed executable names.
119
+ patchelf-musl-cross = patchelfFor nixpkgs . legacyPackages . ${ system } . pkgsCross . musl64 ;
120
+
117
121
patchelf-win32 = ( patchelfFor ( pkgsCrossForMingw system ) . mingw32 ) . overrideAttrs ( old : {
118
122
NIX_CFLAGS_COMPILE = "-static" ;
119
123
} ) ;
Original file line number Diff line number Diff line change @@ -52,7 +52,7 @@ TESTS = $(src_TESTS) $(build_TESTS)
52
52
53
53
EXTRA_DIST = no-rpath-prebuild $(src_TESTS ) no-rpath-prebuild.sh invalid-elf endianness empty-note
54
54
55
- TESTS_ENVIRONMENT = PATCHELF_DEBUG=1 OBJDUMP=$(OBJDUMP ) READELF=$(READELF )
55
+ TESTS_ENVIRONMENT = PATCHELF_DEBUG=1 OBJDUMP=$(OBJDUMP ) READELF=$(READELF ) OBJCOPY= $( OBJCOPY )
56
56
57
57
$(no_rpath_arch_TESTS ) : no-rpath-prebuild.sh
58
58
@ln -s $< $@
Original file line number Diff line number Diff line change @@ -13,4 +13,4 @@ long_rpath="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
13
13
--set-rpath " $long_rpath " " ${SCRATCH} /libbuildid.so"
14
14
15
15
# older readelf versions do not recognize build id, but we can grep by constant
16
- readelf -n " ${SCRATCH} /libbuildid.so" | grep -q -F -e ' Build ID' -e ' Unknown note type: (0x00000003)'
16
+ ${READELF} -n " ${SCRATCH} /libbuildid.so" | grep -q -F -e ' Build ID' -e ' Unknown note type: (0x00000003)'
Original file line number Diff line number Diff line change 1
1
#! /bin/sh -e
2
2
SCRATCH=scratch/$( basename $0 .sh)
3
- OBJDUMP=${OBJDDUMP :- objdump}
3
+ OBJDUMP=${OBJDUMP :- objdump}
4
4
5
5
rm -rf ${SCRATCH}
6
6
mkdir -p ${SCRATCH}
Original file line number Diff line number Diff line change 1
1
#! /bin/sh -e
2
2
SCRATCH=scratch/$( basename $0 .sh)
3
+ STRIP=${STRIP:- strip}
3
4
4
5
rm -rf ${SCRATCH}
5
6
mkdir -p ${SCRATCH}
6
7
7
8
cp simple ${SCRATCH} /
8
9
9
- strip --remove-section=.gnu.hash ${SCRATCH} /simple
10
+ ${STRIP} --remove-section=.gnu.hash ${SCRATCH} /simple
10
11
11
12
# Check if patchelf handles binaries with GNU_HASH in dynamic section but
12
13
# without .gnu.hash section
Original file line number Diff line number Diff line change 1
1
#! /bin/sh -e
2
2
set -x
3
3
SCRATCH=scratch/no-rpath-pie-powerpc
4
+ READELF=${READELF:- readelf}
4
5
5
6
no_rpath_bin=" ${srcdir} /no-rpath-prebuild/no-rpath-pie-powerpc"
6
7
@@ -27,7 +28,7 @@ if ! echo "$newRPath" | grep -q '/foo:/bar'; then
27
28
fi
28
29
29
30
# Tests for powerpc PIE endianness regressions
30
- readelfData=$( readelf -l ${SCRATCH} /no-rpath 2>&1 )
31
+ readelfData=$( ${READELF} -l ${SCRATCH} /no-rpath 2>&1 )
31
32
32
33
if [ $( echo " $readelfData " | grep --count " PHDR" ) != 1 ]; then
33
34
# Triggered if PHDR errors appear on stderr
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ PATCHELF="../src/patchelf"
4
4
SONAME=" phdr-corruption.so"
5
5
SCRATCH=" scratch/$( basename $0 .sh) "
6
6
SCRATCH_SO=" ${SCRATCH} /${SONAME} "
7
+ READELF=${READELF:- readelf}
7
8
8
9
rm -rf " ${SCRATCH} "
9
10
mkdir -p " ${SCRATCH} "
@@ -12,7 +13,7 @@ cp "${SONAME}" "${SCRATCH}"
12
13
" ${PATCHELF} " --set-rpath " $( pwd) " " ${SCRATCH_SO} "
13
14
14
15
# Check for PT_PHDR entry VirtAddr corruption
15
- readelfData=$( readelf -l " ${SCRATCH_SO} " 2>&1 )
16
+ readelfData=$( ${READELF} -l " ${SCRATCH_SO} " 2>&1 )
16
17
17
18
if [ $( echo " $readelfData " | grep --count " PHDR" ) != 1 ]; then
18
19
# Triggered if PHDR errors appear on stderr
You can’t perform that action at this time.
0 commit comments