check flags:
Making check in src
make[1]: Entering directory `/tmp/patchelf-0.4/src'
make[1]: Nothing to be done for `check'.
make[1]: Leaving directory `/tmp/patchelf-0.4/src'
Making check in tests
make[1]: Entering directory `/tmp/patchelf-0.4/tests'
make main main-scoped simple big-dynstr
make[2]: Entering directory `/tmp/patchelf-0.4/tests'
gcc -fpic -o main.o -c main.c
gcc -fpic -o foo.o -c foo.c
gcc -fpic -o bar.o -c bar.c
NIX_DONT_SET_RPATH=1 gcc -Wl,--disable-new-dtags -shared -o libbar.so bar.o -L . -Wl,-rpath,`pwd`/no-such-path
NIX_DONT_SET_RPATH=1 gcc -Wl,--disable-new-dtags -shared -o libfoo.so foo.o -L . -lbar
LD_LIBRARY_PATH=. gcc -Wl,--disable-new-dtags -o main main.o -L . -lfoo
NIX_DONT_SET_RPATH=1 gcc -Wl,--enable-new-dtags -shared -o libbar-scoped.so bar.o
NIX_DONT_SET_RPATH=1 gcc -Wl,--enable-new-dtags -shared -o libfoo-scoped.so foo.o -L . -lbar-scoped
LD_LIBRARY_PATH=. gcc -Wl,--enable-new-dtags -o main-scoped main.o -L . -lfoo-scoped
gcc -DPACKAGE_NAME=\"patchelf\" -DPACKAGE_TARNAME=\"patchelf\" -DPACKAGE_VERSION=\"\"0.4\"\" -DPACKAGE_STRING=\"patchelf\ \"0.4\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"patchelf\" -DVERSION=\"\"0.4\"\" -I. -I. -g -O2 -c simple.c
gcc -g -O2 -o simple simple.o
gcc -DPACKAGE_NAME=\"patchelf\" -DPACKAGE_TARNAME=\"patchelf\" -DPACKAGE_VERSION=\"\"0.4\"\" -DPACKAGE_STRING=\"patchelf\ \"0.4\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"patchelf\" -DVERSION=\"\"0.4\"\" -I. -I. -g -O2 -c big-dynstr.c
LD_LIBRARY_PATH=. gcc -Wl,--disable-new-dtags -o big-dynstr big-dynstr.o -L . -lfoo
make[2]: Leaving directory `/tmp/patchelf-0.4/tests'
make check-TESTS
make[2]: Entering directory `/tmp/patchelf-0.4/tests'
./main: error while loading shared libraries: libfoo.so: cannot open shared object file: No such file or directory
PASS: plain-fail.sh
Hello World
This is foo()!
This is bar()!
Result is 46
PASS: plain-run.sh
RPATH before: /tmp/patchelf-0.4/tests/no-such-path
patching ELF file `scratch/libbar.so'
removing directory `/tmp/patchelf-0.4/tests/no-such-path' from RPATH
new rpath is `'
RPATH after:
Hello World
This is foo()!
This is bar()!
Result is 46
PASS: shrink-rpath.sh
Hello World
current interpreter is /lib/ld-linux.so.2
patching ELF file `scratch/simple'
replacing section `.interp' with size 6
found .interp section; this is an executable
using replaced section `.interp'
last replaced is 1
looking at section `.interp'
first reserved offset/addr is 0x128/0x8048128
first page is 0x8048000
needed space is 284
clearing first 20 bytes
rewriting section `.interp' from offset 276 (size 19) to offset 276 (size 6)
running with missing interpreter...
./set-interpreter-short.sh: line 15: scratch/simple: No such file or directory
PASS: set-interpreter-short.sh
Hello World
current interpreter is /lib/ld-linux.so.2
patching ELF file `scratch/simple'
replacing section `.interp' with size 133
found .interp section; this is an executable
using replaced section `.interp'
last replaced is 1
looking at section `.interp'
first reserved offset/addr is 0x128/0x8048128
first page is 0x8048000
needed space is 412
needed space is 444
needed pages is 1
clearing first 4084 bytes
rewriting section `.interp' from offset 4372 (size 19) to offset 308 (size 133)
running with missing interpreter...
./set-interpreter-long.sh: line 16: scratch/simple: No such file or directory
running with new interpreter...
Hello World
PASS: set-interpreter-long.sh
patching ELF file `scratch/main'
new rpath is `/oops:/tmp/patchelf-0.4/tests/scratch/libsA:/tmp/patchelf-0.4/tests/scratch/libsB'
rpath is too long, resizing...
DT_NULL index is 20
replacing section `.dynamic' with size 216
replacing section `.dynstr' with size 233
found .interp section; this is an executable
using replaced section `.dynstr'
using replaced section `.dynamic'
last replaced is 19
looking at section `.interp'
replacing section `.interp' which is in the way
looking at section `.note.ABI-tag'
replacing section `.note.ABI-tag' which is in the way
looking at section `.hash'
replacing section `.hash' which is in the way
looking at section `.dynsym'
replacing section `.dynsym' which is in the way
looking at section `.dynstr'
looking at section `.gnu.version'
first reserved offset/addr is 0x2f8/0x80482f8
first page is 0x8048000
needed space is 1060
needed space is 1092
needed pages is 1
clearing first 4548 bytes
rewriting section `.dynamic' from offset 5660 (size 208) to offset 308 (size 216)
rewriting section `.dynstr' from offset 4704 (size 151) to offset 524 (size 233)
rewriting section `.dynsym' from offset 4496 (size 208) to offset 760 (size 208)
rewriting section `.hash' from offset 4424 (size 72) to offset 968 (size 72)
rewriting section `.interp' from offset 4372 (size 19) to offset 1040 (size 19)
rewriting section `.note.ABI-tag' from offset 4392 (size 32) to offset 1060 (size 32)
Hello World
This is foo()!
This is bar()!
Result is 46
PASS: set-rpath.sh
patching ELF file `scratch/no-rpath'
new rpath is `/foo:/bar:/xxxxxxxxxxxxxxx'
rpath is too long, resizing...
DT_NULL index is 19
replacing section `.dynamic' with size 208
replacing section `.dynstr' with size 103
replacing section `.interp' with size 19
found .interp section; this is an executable
using replaced section `.interp'
using replaced section `.dynstr'
using replaced section `.dynamic'
last replaced is 17
looking at section `.interp'
looking at section `.note.ABI-tag'
replacing section `.note.ABI-tag' which is in the way
looking at section `.hash'
replacing section `.hash' which is in the way
looking at section `.dynsym'
replacing section `.dynsym' which is in the way
looking at section `.dynstr'
looking at section `.gnu.version'
first reserved offset/addr is 0x1ec/0x80481ec
first page is 0x8048000
needed space is 728
needed space is 760
needed pages is 1
clearing first 4312 bytes
rewriting section `.dynamic' from offset 5288 (size 200) to offset 276 (size 208)
rewriting section `.dynstr' from offset 4512 (size 76) to offset 484 (size 103)
rewriting section `.dynsym' from offset 4432 (size 80) to offset 588 (size 80)
rewriting section `.hash' from offset 4392 (size 40) to offset 668 (size 40)
rewriting section `.interp' from offset 4340 (size 19) to offset 708 (size 19)
rewriting section `.note.ABI-tag' from offset 4360 (size 32) to offset 728 (size 32)
PASS: no-rpath.sh
patching ELF file `scratch/big-dynstr'
new rpath is `/oops:/tmp/patchelf-0.4/tests/scratch/libsA:/tmp/patchelf-0.4/tests/scratch/libsB'
rpath is too long, resizing...
DT_NULL index is 20
replacing section `.dynamic' with size 216
replacing section `.dynstr' with size 233
found .interp section; this is an executable
using replaced section `.dynstr'
using replaced section `.dynamic'
last replaced is 19
looking at section `.interp'
replacing section `.interp' which is in the way
looking at section `.note.ABI-tag'
replacing section `.note.ABI-tag' which is in the way
looking at section `.hash'
replacing section `.hash' which is in the way
looking at section `.dynsym'
replacing section `.dynsym' which is in the way
looking at section `.dynstr'
looking at section `.gnu.version'
first reserved offset/addr is 0x2f8/0x80482f8
first page is 0x8048000
needed space is 1060
needed space is 1092
needed pages is 1
clearing first 4548 bytes
rewriting section `.dynamic' from offset 37660 (size 208) to offset 308 (size 216)
rewriting section `.dynstr' from offset 4704 (size 151) to offset 524 (size 233)
rewriting section `.dynsym' from offset 4496 (size 208) to offset 760 (size 208)
rewriting section `.hash' from offset 4424 (size 72) to offset 968 (size 72)
rewriting section `.interp' from offset 4372 (size 19) to offset 1040 (size 19)
rewriting section `.note.ABI-tag' from offset 4392 (size 32) to offset 1060 (size 32)
Hello World
This is foo()!
This is bar()!
Result is 46
PASS: big-dynstr.sh
patching ELF file `scratch/main-scoped'
new rpath is `/oops:/tmp/patchelf-0.4/tests/scratch/libsA:/tmp/patchelf-0.4/tests/scratch/libsB'
rpath is too long, resizing...
DT_NULL index is 20
replacing section `.dynamic' with size 216
replacing section `.dynstr' with size 240
found .interp section; this is an executable
using replaced section `.dynstr'
using replaced section `.dynamic'
last replaced is 19
looking at section `.interp'
replacing section `.interp' which is in the way
looking at section `.note.ABI-tag'
replacing section `.note.ABI-tag' which is in the way
looking at section `.hash'
replacing section `.hash' which is in the way
looking at section `.dynsym'
replacing section `.dynsym' which is in the way
looking at section `.dynstr'
looking at section `.gnu.version'
first reserved offset/addr is 0x2fe/0x80482fe
first page is 0x8048000
needed space is 1064
needed space is 1096
needed pages is 1
clearing first 4554 bytes
rewriting section `.dynamic' from offset 5660 (size 208) to offset 308 (size 216)
rewriting section `.dynstr' from offset 4704 (size 158) to offset 524 (size 240)
rewriting section `.dynsym' from offset 4496 (size 208) to offset 764 (size 208)
rewriting section `.hash' from offset 4424 (size 72) to offset 972 (size 72)
rewriting section `.interp' from offset 4372 (size 19) to offset 1044 (size 19)
rewriting section `.note.ABI-tag' from offset 4392 (size 32) to offset 1064 (size 32)
./main-scoped: error while loading shared libraries: libbar-scoped.so: cannot open shared object file: No such file or directory
patching ELF file `scratch/libsA/libfoo-scoped.so'
new rpath is `/oops:/tmp/patchelf-0.4/tests/scratch/libsB'
rpath is too long, resizing...
DT_NULL index is 20
replacing section `.dynamic' with size 208
replacing section `.dynstr' with size 193
no .interp section; this is a dynamic library
last page is 0x2000
needed space is 564
rewriting section `.dynamic' from offset 1512 (size 200) to offset 8352 (size 208)
rewriting section `.dynstr' from offset 696 (size 149) to offset 8560 (size 193)
Hello World
This is foo()!
This is bar()!
Result is 46
patching ELF file `scratch/main-scoped'
removing directory `/oops' from RPATH
removing directory `/tmp/patchelf-0.4/tests/scratch/libsB' from RPATH
new rpath is `/tmp/patchelf-0.4/tests/scratch/libsA'
Hello World
This is foo()!
This is bar()!
Result is 46
PASS: set-rpath-library.sh
==================
All 9 tests passed
==================
make[2]: Leaving directory `/tmp/patchelf-0.4/tests'
make[1]: Leaving directory `/tmp/patchelf-0.4/tests'
make[1]: Entering directory `/tmp/patchelf-0.4'
make[1]: Nothing to be done for `check-am'.
make[1]: Leaving directory `/tmp/patchelf-0.4'