From aa19e593d3a5ba53571064ca133597ca9f14f840 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 25 Mar 2015 06:44:09 -0700 Subject: [PATCH] tests: Add testfile-x32 to run-addrcfi.sh Signed-off-by: H.J. Lu --- tests/ChangeLog | 6 ++++ tests/Makefile.am | 2 +- tests/run-addrcfi.sh | 76 +++++++++++++++++++++++++++++++++++++++++ tests/testfile-x32.bz2 | Bin 0 -> 3059 bytes 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100755 tests/testfile-x32.bz2 diff --git a/tests/ChangeLog b/tests/ChangeLog index ca8cbdf71..4ead80fe5 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,9 @@ +2015-04-01 H.J. Lu + + * run-addrcfi.sh: Add a test for testfile-x32. + * testfile-x32.bz2: New file. + * Makefile.am (EXTRA_DIST): Add testfile-x32.bz2. + 2015-04-01 H.J. Lu * run-allregs.sh: Add a test for testfile-x32-core. diff --git a/tests/Makefile.am b/tests/Makefile.am index 83b10052f..cc1d25407 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -287,7 +287,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ run-readelf-A.sh testfileppc32attrs.o.bz2 \ testfile-debug-types.bz2 \ run-getsrc-die.sh run-strptr.sh \ - testfile-x32-core.bz2 + testfile-x32-core.bz2 testfile-x32.bz2 if USE_VALGRIND valgrind_cmd='valgrind -q --error-exitcode=1 --run-libc-freeres=no' diff --git a/tests/run-addrcfi.sh b/tests/run-addrcfi.sh index 2559c3309..c864eeaeb 100755 --- a/tests/run-addrcfi.sh +++ b/tests/run-addrcfi.sh @@ -1,5 +1,6 @@ #! /bin/sh # Copyright (C) 2013 +# Copyright (C) H.J. Lu , 2015. # This file is part of elfutils. # # This file is free software; you can redistribute it and/or modify @@ -3671,3 +3672,78 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range FP/SIMD reg94 (v30): undefined FP/SIMD reg95 (v31): undefined EOF + +# EM_X86_64/ELFCLASS32 (function bar 0x00400390) +# +# Note. Only in .eh_frame, there is no .debug_frame. +# Same as PPC above but with -mx32. +testfiles testfile-x32 +testrun_compare ${abs_builddir}/addrcfi -e testfile-x32 0x00400390 <<\EOF +.eh_frame has 0x400390 => [0x400390, 0x40039c): + return address in reg16 + CFA location expression: bregx(7,8) + integer reg0 (%rax): same_value + integer reg1 (%rdx): undefined + integer reg2 (%rcx): undefined + integer reg3 (%rbx): undefined + integer reg4 (%rsi): undefined + integer reg5 (%rdi): undefined + integer reg6 (%rbp): same_value + integer reg7 (%rsp): location expression: call_frame_cfa stack_value + integer reg8 (%r8): undefined + integer reg9 (%r9): undefined + integer reg10 (%r10): undefined + integer reg11 (%r11): undefined + integer reg12 (%r12): same_value + integer reg13 (%r13): same_value + integer reg14 (%r14): same_value + integer reg15 (%r15): same_value + integer reg16 (%rip): location expression: call_frame_cfa plus_uconst(-8) + SSE reg17 (%xmm0): undefined + SSE reg18 (%xmm1): undefined + SSE reg19 (%xmm2): undefined + SSE reg20 (%xmm3): undefined + SSE reg21 (%xmm4): undefined + SSE reg22 (%xmm5): undefined + SSE reg23 (%xmm6): undefined + SSE reg24 (%xmm7): undefined + SSE reg25 (%xmm8): undefined + SSE reg26 (%xmm9): undefined + SSE reg27 (%xmm10): undefined + SSE reg28 (%xmm11): undefined + SSE reg29 (%xmm12): undefined + SSE reg30 (%xmm13): undefined + SSE reg31 (%xmm14): undefined + SSE reg32 (%xmm15): undefined + x87 reg33 (%st0): undefined + x87 reg34 (%st1): undefined + x87 reg35 (%st2): undefined + x87 reg36 (%st3): undefined + x87 reg37 (%st4): undefined + x87 reg38 (%st5): undefined + x87 reg39 (%st6): undefined + x87 reg40 (%st7): undefined + MMX reg41 (%mm0): undefined + MMX reg42 (%mm1): undefined + MMX reg43 (%mm2): undefined + MMX reg44 (%mm3): undefined + MMX reg45 (%mm4): undefined + MMX reg46 (%mm5): undefined + MMX reg47 (%mm6): undefined + MMX reg48 (%mm7): undefined + integer reg49 (%rflags): undefined + segment reg50 (%es): undefined + segment reg51 (%cs): undefined + segment reg52 (%ss): undefined + segment reg53 (%ds): undefined + segment reg54 (%fs): undefined + segment reg55 (%gs): undefined + segment reg58 (%fs.base): undefined + segment reg59 (%gs.base): undefined + control reg62 (%tr): undefined + control reg63 (%ldtr): undefined + control reg64 (%mxcsr): undefined + control reg65 (%fcw): undefined + control reg66 (%fsw): undefined +handle_cfi no CFI (.debug_frame): no error +EOF diff --git a/tests/testfile-x32.bz2 b/tests/testfile-x32.bz2 new file mode 100755 index 0000000000000000000000000000000000000000..f6df180fa20f47eb0d24016dae5f8531cab4cacc GIT binary patch literal 3059 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