]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
tests: Add testfile-x32 to run-addrcfi.sh
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 25 Mar 2015 13:44:09 +0000 (06:44 -0700)
committerMark Wielaard <mjw@redhat.com>
Wed, 1 Apr 2015 18:51:54 +0000 (20:51 +0200)
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
tests/ChangeLog
tests/Makefile.am
tests/run-addrcfi.sh
tests/testfile-x32.bz2 [new file with mode: 0755]

index ca8cbdf7184c0ac0e74e9679dc02d029e70031c9..4ead80fe58bb45bcaa408aa05686c893de348e00 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-01  H.J. Lu  <hjl.tools@gmail.com>
+
+       * 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  <hjl.tools@gmail.com>
 
        * run-allregs.sh: Add a test for testfile-x32-core.
index 83b10052fd8b6b4f660cccd01d5961c1656353b2..cc1d2540718744544ad6a6c4b13ffb2e29b0c9d4 100644 (file)
@@ -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'
index 2559c33091c1e979f2a031586e5a83e2f5290804..c864eeaeb71a29b8de3fb3ed151c5a8e65fda741 100755 (executable)
@@ -1,5 +1,6 @@
 #! /bin/sh
 # Copyright (C) 2013
+# Copyright (C) H.J. Lu <hjl.tools@gmail.com>, 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 (executable)
index 0000000..f6df180
Binary files /dev/null and b/tests/testfile-x32.bz2 differ