#! /bin/sh # Test for dwarf_getcfi. # Copyright (C) 2018 Red Hat, Inc. # This file is part of elfutils. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # elfutils is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . $srcdir/test-subr.sh # Test files come from run-addrcfi with all sections stripped except # the .debug_frame. # for i in # eu-strip -f $i-debugframe $i # eu-strip -g --remove-comment --keep-section=.debug_frame $i-debugframe # done testfiles testfile11-debugframe testfile12-debugframe testfiles testfileaarch64-debugframe testfiles testfilearm-debugframe testfiles testfileppc32-debugframe testfiles testfileppc64-debugframe testfiles testfile11-debugframe testrun_compare ${abs_builddir}/dwarfcfi testfile11-debugframe 0x080489b8 <<\EOF 0x80489b8 => [0x80489b8, 0x80489b9): return address in reg8 CFA location expression: bregx(4,4) reg0: undefined reg1: undefined reg2: undefined reg3: same_value reg4: location expression: call_frame_cfa stack_value reg5: same_value reg6: same_value reg7: same_value reg8: location expression: call_frame_cfa plus_uconst(-4) reg9: undefined EOF testfiles testfile12-debugframe testrun_compare ${abs_builddir}/dwarfcfi testfile12-debugframe 0x00000000000009d0 <<\EOF 0x9d0 => [0x9d0, 0x9d1): return address in reg16 CFA location expression: bregx(7,8) reg0: same_value reg1: undefined reg2: undefined reg3: undefined reg4: undefined reg5: undefined reg6: same_value reg7: location expression: call_frame_cfa stack_value reg8: undefined reg9: undefined EOF testfiles testfileppc32-debugframe testrun_compare ${abs_builddir}/dwarfcfi testfileppc32-debugframe 0x100004c0 <<\EOF 0x100004c0 => [0x100004c0, 0x100004d0): return address in reg65 CFA location expression: bregx(1) reg0: undefined reg1: location expression: call_frame_cfa stack_value reg2: same_value reg3: undefined reg4: undefined reg5: undefined reg6: undefined reg7: undefined reg8: undefined reg9: undefined EOF testfiles testfileppc64-debugframe testrun_compare ${abs_builddir}/dwarfcfi testfileppc64-debugframe 0x00000000100005b0 <<\EOF 0x100005b0 => [0x100005b0, 0x100005d0): return address in reg65 CFA location expression: bregx(1) reg0: undefined reg1: location expression: call_frame_cfa stack_value reg2: same_value reg3: undefined reg4: undefined reg5: undefined reg6: undefined reg7: undefined reg8: undefined reg9: undefined EOF testfiles testfilearm-debugframe testrun_compare ${abs_builddir}/dwarfcfi testfilearm-debugframe 0x00008510 <<\EOF 0x8510 => [0x8510, 0x8524): return address in reg14 CFA location expression: bregx(13) reg0: undefined reg1: undefined reg2: undefined reg3: undefined reg4: same_value reg5: same_value reg6: same_value reg7: same_value reg8: same_value reg9: undefined EOF testfiles testfileaarch64-debugframe testrun_compare ${abs_builddir}/dwarfcfi testfileaarch64-debugframe 0x400550 <<\EOF 0x400550 => [0x400550, 0x400568): return address in reg30 CFA location expression: bregx(31) reg0: undefined reg1: undefined reg2: undefined reg3: undefined reg4: undefined reg5: undefined reg6: undefined reg7: undefined reg8: undefined reg9: undefined EOF