On Thu, 2013-06-13 at 15:48 +0200, Mark Wielaard wrote:
> > That is for the testcase. But I might have misunderstood.
I never
> > could make the selfdump tests work since it tries to find the
> > "jmp" symbol (which seems to never be used?).
>
> make check will not PASS for run-backtrace.sh? It PASSes for me.
>
> $ nm tests/backtrace-child|grep -w jmp
> 0000000000000acb t jmp
>
> Tested on Fedora 18 x86_64 and wit mjw/unwind now also on CentOS 6.3 x86_64.
That is indeed strange, those are similar to the platforms (f18 and
rhel6.4 x86_64) that I also tested on. I assume I had something weird in
my tree. I'll try again with clean trees. But I don't fully understand
why/where jmp is actually used in the test case.
OK, on f18 x86_64 it does pass with a cleanly build tree. So I must have
messed something up earlier, sorry.
But on rhel6.4 it does fail because nm tests/backtrace-child|grep -w jmp
is empty, and so you get:
FAIL: run-backtrace.sh (exit: 1)
================================
backtrace: /home/mark/src/elfutils/tests/backtrace.c:439: selfdump: Assertion `symi <
nsym' failed.
/home/mark/src/elfutils/tests/test-subr.sh: line 84: 17144 Aborted (core
dumped)
LD_LIBRARY_PATH="${built_library_path}${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
$VALGRIND_CMD "$@"
I seem to need to build with CFLAGS="-g -O0" to keep the jmp function around.
Then backtrace-child seems to succeed, but backtrace-child-biarch fails with:
FAIL: run-backtrace.sh (exit: 1)
================================
0x219000 0x21c000 /home/mark/build/elfutils-obj/tests/backtrace-child-biarch
0x21c000 0x3b0000 /lib/libc-2.12.so
0xbfd000 0xc16000 /lib/libpthread-2.12.so
0xf0b000 0xf0c000 [vdso: 28062]
0xf89000 0xfa9000 /lib/ld-2.12.so
TID 28063:
# 0 0xf0b430 (null)
TID 28062:
# 0 0xf0b430 (null)
No DWARF information found
No DWARF information found
backtrace: /home/mark/src/elfutils/tests/backtrace.c:249: selfdump_callback: Assertion
`seen_main' failed.
/home/mark/src/elfutils/tests/test-subr.sh: line 84: 28061 Aborted (core
dumped)
LD_LIBRARY_PATH="${built_library_path}${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
$VALGRIND_CMD "$@"
backtrace-child-biarch: no main
How odd. I'll try and see what is really going on here.
Cheers,
Mark