Signed-off-by: Mark Wielaard mjw@redhat.com --- tests/ChangeLog | 10 +++ tests/Makefile.am | 3 +- tests/addrcfi.c | 6 ++ tests/run-addrcfi.sh | 154 +++++++++++++++++++++++++++++++++++++++++++++++ tests/testfiles390.bz2 | Bin 0 -> 3132 bytes tests/testfiles390x.bz2 | Bin 0 -> 3026 bytes 6 files changed, 172 insertions(+), 1 deletions(-) create mode 100755 tests/testfiles390.bz2 create mode 100755 tests/testfiles390x.bz2
diff --git a/tests/ChangeLog b/tests/ChangeLog index 5933d3c..b934555 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,5 +1,15 @@ 2013-08-28 Mark Wielaard mjw@redhat.com
+ * addrcfi.c (handle_cfi): Handle .debug_frame or .eh_frame + completely missing. + * run-addrcfi.sh: Add case for EM_S390 ELFCLASS32 and ELFCLASS64. + * testfiles390.bz2: New testfile. + * testfiles390x.bz2: Likewise. + * Makefile.am (EXTRA_DIST): Add testfiles390.bz2 and + testfiles390x.bz2. + +2013-08-28 Mark Wielaard mjw@redhat.com + * addrcfi.c (handle_cfi): Use printf not error. * run-addrcfi.sh: Add case for EM_PPC and EM_PPC64. * testfileppc32.bz2: New testfile. diff --git a/tests/Makefile.am b/tests/Makefile.am index bebb5cd..8e4f88a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -203,7 +203,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ testfilenolines.bz2 test-core-lib.so.bz2 test-core.core.bz2 \ test-core.exec.bz2 run-addr2line-test.sh \ run-addr2line-i-test.sh testfile-inlines.bz2 \ - testfileppc32.bz2 testfileppc64.bz2 + testfileppc32.bz2 testfileppc64.bz2 \ + testfiles390.bz2 testfiles390x.bz2
if USE_VALGRIND valgrind_cmd='valgrind -q --trace-children=yes --error-exitcode=1 --run-libc-freeres=no' diff --git a/tests/addrcfi.c b/tests/addrcfi.c index 91f3ab5..6e6a491 100644 --- a/tests/addrcfi.c +++ b/tests/addrcfi.c @@ -107,6 +107,12 @@ static int handle_cfi (Dwfl *dwfl, const char *which, Dwarf_CFI *cfi, GElf_Addr pc, struct stuff *stuff) { + if (cfi == NULL) + { + printf ("handle_cfi no CFI (%s): %s\n", which, dwarf_errmsg (-1)); + return -1; + } + int result = dwarf_cfi_addrframe (cfi, pc - stuff->bias, &stuff->frame); if (result != 0) { diff --git a/tests/run-addrcfi.sh b/tests/run-addrcfi.sh index cf95a18..38669ca 100755 --- a/tests/run-addrcfi.sh +++ b/tests/run-addrcfi.sh @@ -2342,3 +2342,157 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range vector reg1154 (vr30): same_value vector reg1155 (vr31): same_value EOF + +# EM_S390 (ELFCLASS32) (function bar 0x4004d8) +# Note. Only in .eh_frame, there is no .debug_frame. +# Same as PPC above but with -m31. +testfiles testfiles390 +testrun_compare ${abs_builddir}/addrcfi -e testfiles390 0x4004d8 <<\EOF +.eh_frame has 0x4004d8 => [0x4004d8, 0x4004e8): + return address in reg14 + CFA location expression: bregx(15,96) + integer reg0 (%r0): same_value + integer reg1 (%r1): same_value + integer reg2 (%r2): same_value + integer reg3 (%r3): same_value + integer reg4 (%r4): same_value + integer reg5 (%r5): same_value + integer reg6 (%r6): same_value + integer reg7 (%r7): same_value + integer reg8 (%r8): same_value + integer reg9 (%r9): same_value + integer reg10 (%r10): same_value + integer reg11 (%r11): same_value + integer reg12 (%r12): same_value + integer reg13 (%r13): same_value + integer reg14 (%r14): same_value + integer reg15 (%r15): same_value + FPU reg16 (%f0): same_value + FPU reg17 (%f2): same_value + FPU reg18 (%f4): same_value + FPU reg19 (%f6): same_value + FPU reg20 (%f1): same_value + FPU reg21 (%f3): same_value + FPU reg22 (%f5): same_value + FPU reg23 (%f7): same_value + FPU reg24 (%f8): same_value + FPU reg25 (%f10): same_value + FPU reg26 (%f12): same_value + FPU reg27 (%f14): same_value + FPU reg28 (%f9): same_value + FPU reg29 (%f11): same_value + FPU reg30 (%f13): same_value + FPU reg31 (%f15): same_value + control reg32 (%c0): same_value + control reg33 (%c1): same_value + control reg34 (%c2): same_value + control reg35 (%c3): same_value + control reg36 (%c4): same_value + control reg37 (%c5): same_value + control reg38 (%c6): same_value + control reg39 (%c7): same_value + control reg40 (%c8): same_value + control reg41 (%c9): same_value + control reg42 (%c10): same_value + control reg43 (%c11): same_value + control reg44 (%c12): same_value + control reg45 (%c13): same_value + control reg46 (%c14): same_value + control reg47 (%c15): same_value + access reg48 (%a0): same_value + access reg49 (%a1): same_value + access reg50 (%a2): same_value + access reg51 (%a3): same_value + access reg52 (%a4): same_value + access reg53 (%a5): same_value + access reg54 (%a6): same_value + access reg55 (%a7): same_value + access reg56 (%a8): same_value + access reg57 (%a9): same_value + access reg58 (%a10): same_value + access reg59 (%a11): same_value + access reg60 (%a12): same_value + access reg61 (%a13): same_value + access reg62 (%a14): same_value + access reg63 (%a15): same_value + control reg64 (%pswm): same_value + control reg65 (%pswa): same_value +handle_cfi no CFI (.debug_frame): no error +EOF + +# EM_S390 (ELFCLASS64) (function bar 0x0000000080000510) +# Note. Only in .eh_frame, there is no .debug_frame. +# Same as s390 above but without -m31. +testfiles testfiles390x +testrun_compare ${abs_builddir}/addrcfi -e testfiles390x 0x0000000080000510 <<\EOF +.eh_frame has 0x80000510 => [0x80000510, 0x80000524): + return address in reg14 + CFA location expression: bregx(15,160) + integer reg0 (%r0): same_value + integer reg1 (%r1): same_value + integer reg2 (%r2): same_value + integer reg3 (%r3): same_value + integer reg4 (%r4): same_value + integer reg5 (%r5): same_value + integer reg6 (%r6): same_value + integer reg7 (%r7): same_value + integer reg8 (%r8): same_value + integer reg9 (%r9): same_value + integer reg10 (%r10): same_value + integer reg11 (%r11): same_value + integer reg12 (%r12): same_value + integer reg13 (%r13): same_value + integer reg14 (%r14): same_value + integer reg15 (%r15): same_value + FPU reg16 (%f0): same_value + FPU reg17 (%f2): same_value + FPU reg18 (%f4): same_value + FPU reg19 (%f6): same_value + FPU reg20 (%f1): same_value + FPU reg21 (%f3): same_value + FPU reg22 (%f5): same_value + FPU reg23 (%f7): same_value + FPU reg24 (%f8): same_value + FPU reg25 (%f10): same_value + FPU reg26 (%f12): same_value + FPU reg27 (%f14): same_value + FPU reg28 (%f9): same_value + FPU reg29 (%f11): same_value + FPU reg30 (%f13): same_value + FPU reg31 (%f15): same_value + control reg32 (%c0): same_value + control reg33 (%c1): same_value + control reg34 (%c2): same_value + control reg35 (%c3): same_value + control reg36 (%c4): same_value + control reg37 (%c5): same_value + control reg38 (%c6): same_value + control reg39 (%c7): same_value + control reg40 (%c8): same_value + control reg41 (%c9): same_value + control reg42 (%c10): same_value + control reg43 (%c11): same_value + control reg44 (%c12): same_value + control reg45 (%c13): same_value + control reg46 (%c14): same_value + control reg47 (%c15): same_value + access reg48 (%a0): same_value + access reg49 (%a1): same_value + access reg50 (%a2): same_value + access reg51 (%a3): same_value + access reg52 (%a4): same_value + access reg53 (%a5): same_value + access reg54 (%a6): same_value + access reg55 (%a7): same_value + access reg56 (%a8): same_value + access reg57 (%a9): same_value + access reg58 (%a10): same_value + access reg59 (%a11): same_value + access reg60 (%a12): same_value + access reg61 (%a13): same_value + access reg62 (%a14): same_value + access reg63 (%a15): same_value + control reg64 (%pswm): same_value + control reg65 (%pswa): same_value +handle_cfi no CFI (.debug_frame): no error +EOF diff --git a/tests/testfiles390.bz2 b/tests/testfiles390.bz2 new file mode 100755 index 0000000000000000000000000000000000000000..14ebf6c76c9d00238ff1ad5fc423ceb21dd7d20a GIT binary patch literal 3132 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 WmVr4m`s)?H@pmLsg$V+#?qZNnDzmBp
literal 0 HcmV?d00001
diff --git a/tests/testfiles390x.bz2 b/tests/testfiles390x.bz2 new file mode 100755 index 0000000000000000000000000000000000000000..eb63ed8dcef53aca9dedc9a51a1460a679fc83aa GIT binary patch literal 3026 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 U*xnW2P}lx0<ce^iA;+i*Y7N7A@c;k-
literal 0 HcmV?d00001
elfutils-devel@lists.fedorahosted.org