#! /bin/sh # 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 <http://www.gnu.org/licenses/>. . $srcdir/test-subr.sh # See tests/testfile-dwarf-45.source testfiles testfile-splitdwarf-4 testfile-splitdwarf-5 # DWARF4 GNU DebugFission No real table header. testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=addr testfile-splitdwarf-4<<\EOF DWARF section [33] '.debug_addr' at offset 0x3671: Table at offset 0 for CU [ b]: Length: 152 DWARF version: 4 Address size: 8 Segment size: 0 Addresses start at offset 0x0: [ 0] 0x000000000040116a <foo+0xa> [ 1] 0x0000000000401189 <foo+0x29> [ 2] 0x000000000040118d <foo+0x2d> [ 3] 0x0000000000401194 [ 4] 0x0000000000401181 <foo+0x21> [ 5] 0x00000000004011af <baz+0xf> [ 6] 0x00000000004011b1 [ 7] 0x00000000004011a0 <baz> [ 8] 0x0000000000401160 <foo> [ 9] 0x00000000004011a0 <baz> [10] 0x000000000040117b <foo+0x1b> [11] 0x000000000040117b <foo+0x1b> [12] 0x0000000000401181 <foo+0x21> [13] 0x0000000000401181 <foo+0x21> [14] 0x000000000040118d <foo+0x2d> [15] 0x0000000000401160 <foo> [16] 0x0000000000401060 <main> [17] 0x000000000040117b <foo+0x1b> [18] 0x0000000000404038 <m> Table at offset 98 for CU [ 3f]: Length: 136 DWARF version: 4 Address size: 8 Segment size: 0 Addresses start at offset 0x98: [ 0] 0x00000000004011df <calc+0x1f> [ 1] 0x00000000004011e4 <calc+0x24> [ 2] 0x0000000000401060 <main> [ 3] 0x0000000000401071 <main+0x11> [ 4] 0x0000000000401074 <main+0x14> [ 5] 0x0000000000401079 <main+0x19> [ 6] 0x00000000004011d3 <calc+0x13> [ 7] 0x0000000000401078 <main+0x18> [ 8] 0x00000000004011a0 <baz> [ 9] 0x0000000000401040 [10] 0x0000000000401080 <_start> [11] 0x00000000004011c0 <calc> [12] 0x0000000000401060 <main> [13] 0x00000000004011c0 <calc> [14] 0x00000000004011c8 <calc+0x8> [15] 0x00000000004011d8 <calc+0x18> [16] 0x00000000004011da <calc+0x1a> EOF # DWARF5 Real table header. testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=addr testfile-splitdwarf-5<<\EOF DWARF section [32] '.debug_addr' at offset 0x365e: Table at offset 0 for CU [ 14]: Length: 156 DWARF version: 5 Address size: 8 Segment size: 0 Addresses start at offset 0x8: [ 0] 0x000000000040116a <foo+0xa> [ 1] 0x0000000000401189 <foo+0x29> [ 2] 0x000000000040118d <foo+0x2d> [ 3] 0x0000000000401194 [ 4] 0x0000000000401181 <foo+0x21> [ 5] 0x00000000004011af <baz+0xf> [ 6] 0x00000000004011b1 [ 7] 0x00000000004011a0 <baz> [ 8] 0x0000000000401160 <foo> [ 9] 0x00000000004011a0 <baz> [10] 0x000000000040117b <foo+0x1b> [11] 0x000000000040117b <foo+0x1b> [12] 0x0000000000401181 <foo+0x21> [13] 0x0000000000401181 <foo+0x21> [14] 0x000000000040118d <foo+0x2d> [15] 0x0000000000401160 <foo> [16] 0x0000000000401060 <main> [17] 0x000000000040117b <foo+0x1b> [18] 0x0000000000404038 <m> Table at offset a0 for CU [ 49]: Length: 140 DWARF version: 5 Address size: 8 Segment size: 0 Addresses start at offset 0xa8: [ 0] 0x00000000004011df <calc+0x1f> [ 1] 0x00000000004011e4 <calc+0x24> [ 2] 0x0000000000401060 <main> [ 3] 0x0000000000401071 <main+0x11> [ 4] 0x0000000000401074 <main+0x14> [ 5] 0x0000000000401079 <main+0x19> [ 6] 0x00000000004011d3 <calc+0x13> [ 7] 0x0000000000401078 <main+0x18> [ 8] 0x00000000004011a0 <baz> [ 9] 0x0000000000401040 [10] 0x0000000000401080 <_start> [11] 0x00000000004011c0 <calc> [12] 0x0000000000401060 <main> [13] 0x00000000004011c0 <calc> [14] 0x00000000004011c8 <calc+0x8> [15] 0x00000000004011d8 <calc+0x18> [16] 0x00000000004011da <calc+0x1a> EOF exit 0