1da0c48c4Sopenharmony_ci#! /bin/sh 2da0c48c4Sopenharmony_ci# Copyright (C) 2013 Red Hat, Inc. 3da0c48c4Sopenharmony_ci# This file is part of elfutils. 4da0c48c4Sopenharmony_ci# 5da0c48c4Sopenharmony_ci# This file is free software; you can redistribute it and/or modify 6da0c48c4Sopenharmony_ci# it under the terms of the GNU General Public License as published by 7da0c48c4Sopenharmony_ci# the Free Software Foundation; either version 3 of the License, or 8da0c48c4Sopenharmony_ci# (at your option) any later version. 9da0c48c4Sopenharmony_ci# 10da0c48c4Sopenharmony_ci# elfutils is distributed in the hope that it will be useful, but 11da0c48c4Sopenharmony_ci# WITHOUT ANY WARRANTY; without even the implied warranty of 12da0c48c4Sopenharmony_ci# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13da0c48c4Sopenharmony_ci# GNU General Public License for more details. 14da0c48c4Sopenharmony_ci# 15da0c48c4Sopenharmony_ci# You should have received a copy of the GNU General Public License 16da0c48c4Sopenharmony_ci# along with this program. If not, see <http://www.gnu.org/licenses/>. 17da0c48c4Sopenharmony_ci 18da0c48c4Sopenharmony_ci. $srcdir/test-subr.sh 19da0c48c4Sopenharmony_ci 20da0c48c4Sopenharmony_ci# - hello.c 21da0c48c4Sopenharmony_ci# int say (const char *prefix); 22da0c48c4Sopenharmony_ci# 23da0c48c4Sopenharmony_ci# static char * 24da0c48c4Sopenharmony_ci# subject (char *word, int count) 25da0c48c4Sopenharmony_ci# { 26da0c48c4Sopenharmony_ci# return count > 0 ? word : (word + count); 27da0c48c4Sopenharmony_ci# } 28da0c48c4Sopenharmony_ci# 29da0c48c4Sopenharmony_ci# int 30da0c48c4Sopenharmony_ci# main (int argc, char **argv) 31da0c48c4Sopenharmony_ci# { 32da0c48c4Sopenharmony_ci# return say (subject (argv[0], argc)); 33da0c48c4Sopenharmony_ci# } 34da0c48c4Sopenharmony_ci# 35da0c48c4Sopenharmony_ci# - world.c 36da0c48c4Sopenharmony_ci# static int 37da0c48c4Sopenharmony_ci# sad (char c) 38da0c48c4Sopenharmony_ci# { 39da0c48c4Sopenharmony_ci# return c > 0 ? c : c + 1; 40da0c48c4Sopenharmony_ci# } 41da0c48c4Sopenharmony_ci# 42da0c48c4Sopenharmony_ci# static int 43da0c48c4Sopenharmony_ci# happy (const char *w) 44da0c48c4Sopenharmony_ci# { 45da0c48c4Sopenharmony_ci# return sad (w[1]); 46da0c48c4Sopenharmony_ci# } 47da0c48c4Sopenharmony_ci# 48da0c48c4Sopenharmony_ci# int 49da0c48c4Sopenharmony_ci# say (const char *prefix) 50da0c48c4Sopenharmony_ci# { 51da0c48c4Sopenharmony_ci# const char *world = "World"; 52da0c48c4Sopenharmony_ci# return prefix ? sad (prefix[0]) : happy (world); 53da0c48c4Sopenharmony_ci# } 54da0c48c4Sopenharmony_ci# 55da0c48c4Sopenharmony_ci# gcc -g -O2 -c hello.c 56da0c48c4Sopenharmony_ci# gcc -g -O2 -c world.c 57da0c48c4Sopenharmony_ci# gcc -g -o testfileloc hello.o world.o 58da0c48c4Sopenharmony_ci 59da0c48c4Sopenharmony_citestfiles testfileloc 60da0c48c4Sopenharmony_ci 61da0c48c4Sopenharmony_ci# Process values as offsets from base addresses and resolve to symbols. 62da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=loc --debug-dump=ranges \ 63da0c48c4Sopenharmony_ci testfileloc<<\EOF 64da0c48c4Sopenharmony_ci 65da0c48c4Sopenharmony_ciDWARF section [33] '.debug_loc' at offset 0xd2a: 66da0c48c4Sopenharmony_ci 67da0c48c4Sopenharmony_ci CU [ b] base: 0x0000000000400480 <main> 68da0c48c4Sopenharmony_ci [ 0] range 0, d 69da0c48c4Sopenharmony_ci 0x0000000000400480 <main>.. 70da0c48c4Sopenharmony_ci 0x000000000040048c <main+0xc> 71da0c48c4Sopenharmony_ci [ 0] reg5 72da0c48c4Sopenharmony_ci [ 23] range 5, d 73da0c48c4Sopenharmony_ci 0x0000000000400485 <main+0x5>.. 74da0c48c4Sopenharmony_ci 0x000000000040048c <main+0xc> 75da0c48c4Sopenharmony_ci [ 0] reg5 76da0c48c4Sopenharmony_ci 77da0c48c4Sopenharmony_ci CU [ e0] base: 0x00000000004004a0 <say> 78da0c48c4Sopenharmony_ci [ 46] range 12, 1a 79da0c48c4Sopenharmony_ci 0x00000000004004b2 <say+0x12>.. 80da0c48c4Sopenharmony_ci 0x00000000004004b9 <say+0x19> 81da0c48c4Sopenharmony_ci [ 0] breg5 0 82da0c48c4Sopenharmony_ci 83da0c48c4Sopenharmony_ciDWARF section [34] '.debug_ranges' at offset 0xd94: 84da0c48c4Sopenharmony_ci 85da0c48c4Sopenharmony_ci CU [ b] base: 0x0000000000400480 <main> 86da0c48c4Sopenharmony_ci [ 0] range 0, 2 87da0c48c4Sopenharmony_ci 0x0000000000400480 <main>.. 88da0c48c4Sopenharmony_ci 0x0000000000400481 <main+0x1> 89da0c48c4Sopenharmony_ci range 5, d 90da0c48c4Sopenharmony_ci 0x0000000000400485 <main+0x5>.. 91da0c48c4Sopenharmony_ci 0x000000000040048c <main+0xc> 92da0c48c4Sopenharmony_ci 93da0c48c4Sopenharmony_ci CU [ e0] base: 0x00000000004004a0 <say> 94da0c48c4Sopenharmony_ci [ 30] range d, f 95da0c48c4Sopenharmony_ci 0x00000000004004ad <say+0xd>.. 96da0c48c4Sopenharmony_ci 0x00000000004004ae <say+0xe> 97da0c48c4Sopenharmony_ci range 12, 1a 98da0c48c4Sopenharmony_ci 0x00000000004004b2 <say+0x12>.. 99da0c48c4Sopenharmony_ci 0x00000000004004b9 <say+0x19> 100da0c48c4Sopenharmony_ciEOF 101da0c48c4Sopenharmony_ci 102da0c48c4Sopenharmony_ci# Don't resolve addresses to symbols. 103da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf -N --debug-dump=loc --debug-dump=ranges \ 104da0c48c4Sopenharmony_ci testfileloc<<\EOF 105da0c48c4Sopenharmony_ci 106da0c48c4Sopenharmony_ciDWARF section [33] '.debug_loc' at offset 0xd2a: 107da0c48c4Sopenharmony_ci 108da0c48c4Sopenharmony_ci CU [ b] base: 0x0000000000400480 109da0c48c4Sopenharmony_ci [ 0] range 0, d 110da0c48c4Sopenharmony_ci 0x0000000000400480.. 111da0c48c4Sopenharmony_ci 0x000000000040048c 112da0c48c4Sopenharmony_ci [ 0] reg5 113da0c48c4Sopenharmony_ci [ 23] range 5, d 114da0c48c4Sopenharmony_ci 0x0000000000400485.. 115da0c48c4Sopenharmony_ci 0x000000000040048c 116da0c48c4Sopenharmony_ci [ 0] reg5 117da0c48c4Sopenharmony_ci 118da0c48c4Sopenharmony_ci CU [ e0] base: 0x00000000004004a0 119da0c48c4Sopenharmony_ci [ 46] range 12, 1a 120da0c48c4Sopenharmony_ci 0x00000000004004b2.. 121da0c48c4Sopenharmony_ci 0x00000000004004b9 122da0c48c4Sopenharmony_ci [ 0] breg5 0 123da0c48c4Sopenharmony_ci 124da0c48c4Sopenharmony_ciDWARF section [34] '.debug_ranges' at offset 0xd94: 125da0c48c4Sopenharmony_ci 126da0c48c4Sopenharmony_ci CU [ b] base: 0x0000000000400480 127da0c48c4Sopenharmony_ci [ 0] range 0, 2 128da0c48c4Sopenharmony_ci 0x0000000000400480.. 129da0c48c4Sopenharmony_ci 0x0000000000400481 130da0c48c4Sopenharmony_ci range 5, d 131da0c48c4Sopenharmony_ci 0x0000000000400485.. 132da0c48c4Sopenharmony_ci 0x000000000040048c 133da0c48c4Sopenharmony_ci 134da0c48c4Sopenharmony_ci CU [ e0] base: 0x00000000004004a0 135da0c48c4Sopenharmony_ci [ 30] range d, f 136da0c48c4Sopenharmony_ci 0x00000000004004ad.. 137da0c48c4Sopenharmony_ci 0x00000000004004ae 138da0c48c4Sopenharmony_ci range 12, 1a 139da0c48c4Sopenharmony_ci 0x00000000004004b2.. 140da0c48c4Sopenharmony_ci 0x00000000004004b9 141da0c48c4Sopenharmony_ciEOF 142da0c48c4Sopenharmony_ci 143da0c48c4Sopenharmony_ci# Produce "raw" unprocessed content. 144da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc --debug-dump=ranges \ 145da0c48c4Sopenharmony_ci testfileloc<<\EOF 146da0c48c4Sopenharmony_ci 147da0c48c4Sopenharmony_ciDWARF section [33] '.debug_loc' at offset 0xd2a: 148da0c48c4Sopenharmony_ci 149da0c48c4Sopenharmony_ci CU [ b] base: 0x0000000000400480 150da0c48c4Sopenharmony_ci [ 0] range 0, d 151da0c48c4Sopenharmony_ci [ 0] reg5 152da0c48c4Sopenharmony_ci [ 23] range 5, d 153da0c48c4Sopenharmony_ci [ 0] reg5 154da0c48c4Sopenharmony_ci 155da0c48c4Sopenharmony_ci CU [ e0] base: 0x00000000004004a0 156da0c48c4Sopenharmony_ci [ 46] range 12, 1a 157da0c48c4Sopenharmony_ci [ 0] breg5 0 158da0c48c4Sopenharmony_ci 159da0c48c4Sopenharmony_ciDWARF section [34] '.debug_ranges' at offset 0xd94: 160da0c48c4Sopenharmony_ci 161da0c48c4Sopenharmony_ci CU [ b] base: 0x0000000000400480 162da0c48c4Sopenharmony_ci [ 0] range 0, 2 163da0c48c4Sopenharmony_ci range 5, d 164da0c48c4Sopenharmony_ci 165da0c48c4Sopenharmony_ci CU [ e0] base: 0x00000000004004a0 166da0c48c4Sopenharmony_ci [ 30] range d, f 167da0c48c4Sopenharmony_ci range 12, 1a 168da0c48c4Sopenharmony_ciEOF 169da0c48c4Sopenharmony_ci 170da0c48c4Sopenharmony_ci# .debug_rnglists (DWARF5), see tests/testfile-dwarf-45.source 171da0c48c4Sopenharmony_citestfiles testfile-dwarf-5 172da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=loc testfile-dwarf-5<<\EOF 173da0c48c4Sopenharmony_ci 174da0c48c4Sopenharmony_ciDWARF section [31] '.debug_loclists' at offset 0x1c0c: 175da0c48c4Sopenharmony_ciTable at Offset 0x0: 176da0c48c4Sopenharmony_ci 177da0c48c4Sopenharmony_ci Length: 96 178da0c48c4Sopenharmony_ci DWARF version: 5 179da0c48c4Sopenharmony_ci Address size: 8 180da0c48c4Sopenharmony_ci Segment size: 0 181da0c48c4Sopenharmony_ci Offset entries: 0 182da0c48c4Sopenharmony_ci CU [ c] base: 0x0000000000400510 <foo> 183da0c48c4Sopenharmony_ci 184da0c48c4Sopenharmony_ci Offset: c, Index: 0 185da0c48c4Sopenharmony_ci offset_pair 0, a 186da0c48c4Sopenharmony_ci 0x0000000000400510 <foo>.. 187da0c48c4Sopenharmony_ci 0x0000000000400519 <foo+0x9> 188da0c48c4Sopenharmony_ci [ 0] reg5 189da0c48c4Sopenharmony_ci offset_pair a, 34 190da0c48c4Sopenharmony_ci 0x000000000040051a <foo+0xa>.. 191da0c48c4Sopenharmony_ci 0x0000000000400543 <foo+0x33> 192da0c48c4Sopenharmony_ci [ 0] entry_value: 193da0c48c4Sopenharmony_ci [ 0] reg5 194da0c48c4Sopenharmony_ci [ 3] stack_value 195da0c48c4Sopenharmony_ci end_of_list 196da0c48c4Sopenharmony_ci 197da0c48c4Sopenharmony_ci Offset: 1a, Index: e 198da0c48c4Sopenharmony_ci offset_pair 1b, 2d 199da0c48c4Sopenharmony_ci 0x000000000040052b <foo+0x1b>.. 200da0c48c4Sopenharmony_ci 0x000000000040053c <foo+0x2c> 201da0c48c4Sopenharmony_ci [ 0] addr 0x601038 <m> 202da0c48c4Sopenharmony_ci end_of_list 203da0c48c4Sopenharmony_ci 204da0c48c4Sopenharmony_ci Offset: 28, Index: 1c 205da0c48c4Sopenharmony_ci offset_pair 1b, 21 206da0c48c4Sopenharmony_ci 0x000000000040052b <foo+0x1b>.. 207da0c48c4Sopenharmony_ci 0x0000000000400530 <foo+0x20> 208da0c48c4Sopenharmony_ci [ 0] reg5 209da0c48c4Sopenharmony_ci end_of_list 210da0c48c4Sopenharmony_ci 211da0c48c4Sopenharmony_ci Offset: 2e, Index: 22 212da0c48c4Sopenharmony_ci offset_pair 1b, 27 213da0c48c4Sopenharmony_ci 0x000000000040052b <foo+0x1b>.. 214da0c48c4Sopenharmony_ci 0x0000000000400536 <foo+0x26> 215da0c48c4Sopenharmony_ci [ 0] reg5 216da0c48c4Sopenharmony_ci offset_pair 29, 2d 217da0c48c4Sopenharmony_ci 0x0000000000400539 <foo+0x29>.. 218da0c48c4Sopenharmony_ci 0x000000000040053c <foo+0x2c> 219da0c48c4Sopenharmony_ci [ 0] reg5 220da0c48c4Sopenharmony_ci end_of_list 221da0c48c4Sopenharmony_ci 222da0c48c4Sopenharmony_ci Offset: 39, Index: 2d 223da0c48c4Sopenharmony_ci offset_pair 21, 27 224da0c48c4Sopenharmony_ci 0x0000000000400531 <foo+0x21>.. 225da0c48c4Sopenharmony_ci 0x0000000000400536 <foo+0x26> 226da0c48c4Sopenharmony_ci [ 0] reg5 227da0c48c4Sopenharmony_ci offset_pair 29, 2d 228da0c48c4Sopenharmony_ci 0x0000000000400539 <foo+0x29>.. 229da0c48c4Sopenharmony_ci 0x000000000040053c <foo+0x2c> 230da0c48c4Sopenharmony_ci [ 0] reg5 231da0c48c4Sopenharmony_ci end_of_list 232da0c48c4Sopenharmony_ci 233da0c48c4Sopenharmony_ci Offset: 44, Index: 38 234da0c48c4Sopenharmony_ci offset_pair 21, 2d 235da0c48c4Sopenharmony_ci 0x0000000000400531 <foo+0x21>.. 236da0c48c4Sopenharmony_ci 0x000000000040053c <foo+0x2c> 237da0c48c4Sopenharmony_ci [ 0] reg5 238da0c48c4Sopenharmony_ci end_of_list 239da0c48c4Sopenharmony_ci 240da0c48c4Sopenharmony_ci Offset: 4a, Index: 3e 241da0c48c4Sopenharmony_ci offset_pair 2d, 33 242da0c48c4Sopenharmony_ci 0x000000000040053d <foo+0x2d>.. 243da0c48c4Sopenharmony_ci 0x0000000000400542 <foo+0x32> 244da0c48c4Sopenharmony_ci [ 0] reg5 245da0c48c4Sopenharmony_ci end_of_list 246da0c48c4Sopenharmony_ci 247da0c48c4Sopenharmony_ci Offset: 50, Index: 44 248da0c48c4Sopenharmony_ci offset_pair 40, 4f 249da0c48c4Sopenharmony_ci 0x0000000000400550 <baz>.. 250da0c48c4Sopenharmony_ci 0x000000000040055e <baz+0xe> 251da0c48c4Sopenharmony_ci [ 0] reg5 252da0c48c4Sopenharmony_ci offset_pair 4f, 51 253da0c48c4Sopenharmony_ci 0x000000000040055f <baz+0xf>.. 254da0c48c4Sopenharmony_ci 0x0000000000400560 <baz+0x10> 255da0c48c4Sopenharmony_ci [ 0] entry_value: 256da0c48c4Sopenharmony_ci [ 0] reg5 257da0c48c4Sopenharmony_ci [ 3] stack_value 258da0c48c4Sopenharmony_ci end_of_list 259da0c48c4Sopenharmony_ci 260da0c48c4Sopenharmony_ci Offset: 5e, Index: 52 261da0c48c4Sopenharmony_ci offset_pair 40, 50 262da0c48c4Sopenharmony_ci 0x0000000000400550 <baz>.. 263da0c48c4Sopenharmony_ci 0x000000000040055f <baz+0xf> 264da0c48c4Sopenharmony_ci [ 0] reg5 265da0c48c4Sopenharmony_ci end_of_list 266da0c48c4Sopenharmony_ci 267da0c48c4Sopenharmony_ciTable at Offset 0x64: 268da0c48c4Sopenharmony_ci 269da0c48c4Sopenharmony_ci Length: 159 270da0c48c4Sopenharmony_ci DWARF version: 5 271da0c48c4Sopenharmony_ci Address size: 8 272da0c48c4Sopenharmony_ci Segment size: 0 273da0c48c4Sopenharmony_ci Offset entries: 0 274da0c48c4Sopenharmony_ci CU [ 218] base: 000000000000000000 275da0c48c4Sopenharmony_ci 276da0c48c4Sopenharmony_ci Offset: 70, Index: 0 277da0c48c4Sopenharmony_ci base_address 0x400410 278da0c48c4Sopenharmony_ci 0x0000000000400410 <main> 279da0c48c4Sopenharmony_ci offset_pair 0, 14 280da0c48c4Sopenharmony_ci 0x0000000000400410 <main>.. 281da0c48c4Sopenharmony_ci 0x0000000000400423 <main+0x13> 282da0c48c4Sopenharmony_ci [ 0] reg5 283da0c48c4Sopenharmony_ci offset_pair 14, 20 284da0c48c4Sopenharmony_ci 0x0000000000400424 <main+0x14>.. 285da0c48c4Sopenharmony_ci 0x000000000040042f <main+0x1f> 286da0c48c4Sopenharmony_ci [ 0] entry_value: 287da0c48c4Sopenharmony_ci [ 0] reg5 288da0c48c4Sopenharmony_ci [ 3] stack_value 289da0c48c4Sopenharmony_ci end_of_list 290da0c48c4Sopenharmony_ci 291da0c48c4Sopenharmony_ci Offset: 87, Index: 17 292da0c48c4Sopenharmony_ci base_address 0x400410 293da0c48c4Sopenharmony_ci 0x0000000000400410 <main> 294da0c48c4Sopenharmony_ci offset_pair 0, 18 295da0c48c4Sopenharmony_ci 0x0000000000400410 <main>.. 296da0c48c4Sopenharmony_ci 0x0000000000400427 <main+0x17> 297da0c48c4Sopenharmony_ci [ 0] reg4 298da0c48c4Sopenharmony_ci offset_pair 18, 20 299da0c48c4Sopenharmony_ci 0x0000000000400428 <main+0x18>.. 300da0c48c4Sopenharmony_ci 0x000000000040042f <main+0x1f> 301da0c48c4Sopenharmony_ci [ 0] entry_value: 302da0c48c4Sopenharmony_ci [ 0] reg4 303da0c48c4Sopenharmony_ci [ 3] stack_value 304da0c48c4Sopenharmony_ci end_of_list 305da0c48c4Sopenharmony_ci 306da0c48c4Sopenharmony_ci Offset: 9e, Index: 2e 307da0c48c4Sopenharmony_ci start_length 0x400421, 7 308da0c48c4Sopenharmony_ci 0x0000000000400421 <main+0x11>.. 309da0c48c4Sopenharmony_ci 0x0000000000400427 <main+0x17> 310da0c48c4Sopenharmony_ci [ 0] reg0 311da0c48c4Sopenharmony_ci end_of_list 312da0c48c4Sopenharmony_ci 313da0c48c4Sopenharmony_ci Offset: ab, Index: 3b 314da0c48c4Sopenharmony_ci base_address 0x400570 315da0c48c4Sopenharmony_ci 0x0000000000400570 <calc> 316da0c48c4Sopenharmony_ci offset_pair 0, 8 317da0c48c4Sopenharmony_ci 0x0000000000400570 <calc>.. 318da0c48c4Sopenharmony_ci 0x0000000000400577 <calc+0x7> 319da0c48c4Sopenharmony_ci [ 0] reg5 320da0c48c4Sopenharmony_ci offset_pair 8, 2b 321da0c48c4Sopenharmony_ci 0x0000000000400578 <calc+0x8>.. 322da0c48c4Sopenharmony_ci 0x000000000040059a <calc+0x2a> 323da0c48c4Sopenharmony_ci [ 0] entry_value: 324da0c48c4Sopenharmony_ci [ 0] reg5 325da0c48c4Sopenharmony_ci [ 3] stack_value 326da0c48c4Sopenharmony_ci end_of_list 327da0c48c4Sopenharmony_ci 328da0c48c4Sopenharmony_ci Offset: c2, Index: 52 329da0c48c4Sopenharmony_ci start_length 0x400588, b 330da0c48c4Sopenharmony_ci 0x0000000000400588 <calc+0x18>.. 331da0c48c4Sopenharmony_ci 0x0000000000400592 <calc+0x22> 332da0c48c4Sopenharmony_ci [ 0] reg0 333da0c48c4Sopenharmony_ci end_of_list 334da0c48c4Sopenharmony_ci 335da0c48c4Sopenharmony_ci Offset: cf, Index: 5f 336da0c48c4Sopenharmony_ci base_address 0x400588 337da0c48c4Sopenharmony_ci 0x0000000000400588 <calc+0x18> 338da0c48c4Sopenharmony_ci offset_pair 0, 2 339da0c48c4Sopenharmony_ci 0x0000000000400588 <calc+0x18>.. 340da0c48c4Sopenharmony_ci 0x0000000000400589 <calc+0x19> 341da0c48c4Sopenharmony_ci [ 0] reg1 342da0c48c4Sopenharmony_ci offset_pair 2, 7 343da0c48c4Sopenharmony_ci 0x000000000040058a <calc+0x1a>.. 344da0c48c4Sopenharmony_ci 0x000000000040058e <calc+0x1e> 345da0c48c4Sopenharmony_ci [ 0] reg5 346da0c48c4Sopenharmony_ci offset_pair 7, b 347da0c48c4Sopenharmony_ci 0x000000000040058f <calc+0x1f>.. 348da0c48c4Sopenharmony_ci 0x0000000000400592 <calc+0x22> 349da0c48c4Sopenharmony_ci [ 0] entry_value: 350da0c48c4Sopenharmony_ci [ 0] reg5 351da0c48c4Sopenharmony_ci [ 3] deref_size 1 352da0c48c4Sopenharmony_ci [ 5] const1u 56 353da0c48c4Sopenharmony_ci [ 7] shl 354da0c48c4Sopenharmony_ci [ 8] const1u 56 355da0c48c4Sopenharmony_ci [10] shra 356da0c48c4Sopenharmony_ci [11] stack_value 357da0c48c4Sopenharmony_ci end_of_list 358da0c48c4Sopenharmony_ci 359da0c48c4Sopenharmony_ci Offset: f3, Index: 83 360da0c48c4Sopenharmony_ci base_address 0x400588 361da0c48c4Sopenharmony_ci 0x0000000000400588 <calc+0x18> 362da0c48c4Sopenharmony_ci offset_pair 0, 2 363da0c48c4Sopenharmony_ci 0x0000000000400588 <calc+0x18>.. 364da0c48c4Sopenharmony_ci 0x0000000000400589 <calc+0x19> 365da0c48c4Sopenharmony_ci [ 0] reg1 366da0c48c4Sopenharmony_ci offset_pair 2, b 367da0c48c4Sopenharmony_ci 0x000000000040058a <calc+0x1a>.. 368da0c48c4Sopenharmony_ci 0x0000000000400592 <calc+0x22> 369da0c48c4Sopenharmony_ci [ 0] reg5 370da0c48c4Sopenharmony_ci end_of_list 371da0c48c4Sopenharmony_ci 372da0c48c4Sopenharmony_ciEOF 373da0c48c4Sopenharmony_ci 374da0c48c4Sopenharmony_ci# Same as above, but for DWARF4, note completely different encoding, but 375da0c48c4Sopenharmony_ci# the information is the same (check with diff -uwb). 376da0c48c4Sopenharmony_citestfiles testfile-dwarf-4 377da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=loc testfile-dwarf-4<<\EOF 378da0c48c4Sopenharmony_ci 379da0c48c4Sopenharmony_ciDWARF section [31] '.debug_loc' at offset 0x1c86: 380da0c48c4Sopenharmony_ci 381da0c48c4Sopenharmony_ci CU [ b] base: 0x0000000000400510 <foo> 382da0c48c4Sopenharmony_ci [ 0] range 0, a 383da0c48c4Sopenharmony_ci 0x0000000000400510 <foo>.. 384da0c48c4Sopenharmony_ci 0x0000000000400519 <foo+0x9> 385da0c48c4Sopenharmony_ci [ 0] reg5 386da0c48c4Sopenharmony_ci range a, 34 387da0c48c4Sopenharmony_ci 0x000000000040051a <foo+0xa>.. 388da0c48c4Sopenharmony_ci 0x0000000000400543 <foo+0x33> 389da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 390da0c48c4Sopenharmony_ci [ 0] reg5 391da0c48c4Sopenharmony_ci [ 3] stack_value 392da0c48c4Sopenharmony_ci [ 39] range 1b, 2d 393da0c48c4Sopenharmony_ci 0x000000000040052b <foo+0x1b>.. 394da0c48c4Sopenharmony_ci 0x000000000040053c <foo+0x2c> 395da0c48c4Sopenharmony_ci [ 0] addr 0x601038 <m> 396da0c48c4Sopenharmony_ci [ 64] range 1b, 21 397da0c48c4Sopenharmony_ci 0x000000000040052b <foo+0x1b>.. 398da0c48c4Sopenharmony_ci 0x0000000000400530 <foo+0x20> 399da0c48c4Sopenharmony_ci [ 0] reg5 400da0c48c4Sopenharmony_ci [ 87] range 1b, 27 401da0c48c4Sopenharmony_ci 0x000000000040052b <foo+0x1b>.. 402da0c48c4Sopenharmony_ci 0x0000000000400536 <foo+0x26> 403da0c48c4Sopenharmony_ci [ 0] reg5 404da0c48c4Sopenharmony_ci range 29, 2d 405da0c48c4Sopenharmony_ci 0x0000000000400539 <foo+0x29>.. 406da0c48c4Sopenharmony_ci 0x000000000040053c <foo+0x2c> 407da0c48c4Sopenharmony_ci [ 0] reg5 408da0c48c4Sopenharmony_ci [ bd] range 21, 27 409da0c48c4Sopenharmony_ci 0x0000000000400531 <foo+0x21>.. 410da0c48c4Sopenharmony_ci 0x0000000000400536 <foo+0x26> 411da0c48c4Sopenharmony_ci [ 0] reg5 412da0c48c4Sopenharmony_ci range 29, 2d 413da0c48c4Sopenharmony_ci 0x0000000000400539 <foo+0x29>.. 414da0c48c4Sopenharmony_ci 0x000000000040053c <foo+0x2c> 415da0c48c4Sopenharmony_ci [ 0] reg5 416da0c48c4Sopenharmony_ci [ f3] range 21, 2d 417da0c48c4Sopenharmony_ci 0x0000000000400531 <foo+0x21>.. 418da0c48c4Sopenharmony_ci 0x000000000040053c <foo+0x2c> 419da0c48c4Sopenharmony_ci [ 0] reg5 420da0c48c4Sopenharmony_ci [ 116] range 2d, 33 421da0c48c4Sopenharmony_ci 0x000000000040053d <foo+0x2d>.. 422da0c48c4Sopenharmony_ci 0x0000000000400542 <foo+0x32> 423da0c48c4Sopenharmony_ci [ 0] reg5 424da0c48c4Sopenharmony_ci [ 139] range 40, 4f 425da0c48c4Sopenharmony_ci 0x0000000000400550 <baz>.. 426da0c48c4Sopenharmony_ci 0x000000000040055e <baz+0xe> 427da0c48c4Sopenharmony_ci [ 0] reg5 428da0c48c4Sopenharmony_ci range 4f, 51 429da0c48c4Sopenharmony_ci 0x000000000040055f <baz+0xf>.. 430da0c48c4Sopenharmony_ci 0x0000000000400560 <baz+0x10> 431da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 432da0c48c4Sopenharmony_ci [ 0] reg5 433da0c48c4Sopenharmony_ci [ 3] stack_value 434da0c48c4Sopenharmony_ci [ 172] range 40, 50 435da0c48c4Sopenharmony_ci 0x0000000000400550 <baz>.. 436da0c48c4Sopenharmony_ci 0x000000000040055f <baz+0xf> 437da0c48c4Sopenharmony_ci [ 0] reg5 438da0c48c4Sopenharmony_ci 439da0c48c4Sopenharmony_ci CU [ 21c] base: 000000000000000000 440da0c48c4Sopenharmony_ci [ 195] range 400410, 400424 441da0c48c4Sopenharmony_ci 0x0000000000400410 <main>.. 442da0c48c4Sopenharmony_ci 0x0000000000400423 <main+0x13> 443da0c48c4Sopenharmony_ci [ 0] reg5 444da0c48c4Sopenharmony_ci range 400424, 400430 445da0c48c4Sopenharmony_ci 0x0000000000400424 <main+0x14>.. 446da0c48c4Sopenharmony_ci 0x000000000040042f <main+0x1f> 447da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 448da0c48c4Sopenharmony_ci [ 0] reg5 449da0c48c4Sopenharmony_ci [ 3] stack_value 450da0c48c4Sopenharmony_ci [ 1ce] range 400410, 400428 451da0c48c4Sopenharmony_ci 0x0000000000400410 <main>.. 452da0c48c4Sopenharmony_ci 0x0000000000400427 <main+0x17> 453da0c48c4Sopenharmony_ci [ 0] reg4 454da0c48c4Sopenharmony_ci range 400428, 400430 455da0c48c4Sopenharmony_ci 0x0000000000400428 <main+0x18>.. 456da0c48c4Sopenharmony_ci 0x000000000040042f <main+0x1f> 457da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 458da0c48c4Sopenharmony_ci [ 0] reg4 459da0c48c4Sopenharmony_ci [ 3] stack_value 460da0c48c4Sopenharmony_ci [ 207] range 400421, 400428 461da0c48c4Sopenharmony_ci 0x0000000000400421 <main+0x11>.. 462da0c48c4Sopenharmony_ci 0x0000000000400427 <main+0x17> 463da0c48c4Sopenharmony_ci [ 0] reg0 464da0c48c4Sopenharmony_ci [ 22a] range 400570, 400578 465da0c48c4Sopenharmony_ci 0x0000000000400570 <calc>.. 466da0c48c4Sopenharmony_ci 0x0000000000400577 <calc+0x7> 467da0c48c4Sopenharmony_ci [ 0] reg5 468da0c48c4Sopenharmony_ci range 400578, 40059b 469da0c48c4Sopenharmony_ci 0x0000000000400578 <calc+0x8>.. 470da0c48c4Sopenharmony_ci 0x000000000040059a <calc+0x2a> 471da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 472da0c48c4Sopenharmony_ci [ 0] reg5 473da0c48c4Sopenharmony_ci [ 3] stack_value 474da0c48c4Sopenharmony_ci [ 263] range 400588, 400593 475da0c48c4Sopenharmony_ci 0x0000000000400588 <calc+0x18>.. 476da0c48c4Sopenharmony_ci 0x0000000000400592 <calc+0x22> 477da0c48c4Sopenharmony_ci [ 0] reg0 478da0c48c4Sopenharmony_ci [ 286] range 400588, 40058a 479da0c48c4Sopenharmony_ci 0x0000000000400588 <calc+0x18>.. 480da0c48c4Sopenharmony_ci 0x0000000000400589 <calc+0x19> 481da0c48c4Sopenharmony_ci [ 0] reg1 482da0c48c4Sopenharmony_ci range 40058a, 40058f 483da0c48c4Sopenharmony_ci 0x000000000040058a <calc+0x1a>.. 484da0c48c4Sopenharmony_ci 0x000000000040058e <calc+0x1e> 485da0c48c4Sopenharmony_ci [ 0] reg5 486da0c48c4Sopenharmony_ci range 40058f, 400593 487da0c48c4Sopenharmony_ci 0x000000000040058f <calc+0x1f>.. 488da0c48c4Sopenharmony_ci 0x0000000000400592 <calc+0x22> 489da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 490da0c48c4Sopenharmony_ci [ 0] reg5 491da0c48c4Sopenharmony_ci [ 3] deref_size 1 492da0c48c4Sopenharmony_ci [ 5] const1u 56 493da0c48c4Sopenharmony_ci [ 7] shl 494da0c48c4Sopenharmony_ci [ 8] const1u 56 495da0c48c4Sopenharmony_ci [10] shra 496da0c48c4Sopenharmony_ci [11] stack_value 497da0c48c4Sopenharmony_ci [ 2da] range 400588, 40058a 498da0c48c4Sopenharmony_ci 0x0000000000400588 <calc+0x18>.. 499da0c48c4Sopenharmony_ci 0x0000000000400589 <calc+0x19> 500da0c48c4Sopenharmony_ci [ 0] reg1 501da0c48c4Sopenharmony_ci range 40058a, 400593 502da0c48c4Sopenharmony_ci 0x000000000040058a <calc+0x1a>.. 503da0c48c4Sopenharmony_ci 0x0000000000400592 <calc+0x22> 504da0c48c4Sopenharmony_ci [ 0] reg5 505da0c48c4Sopenharmony_ciEOF 506da0c48c4Sopenharmony_ci 507da0c48c4Sopenharmony_ci# Split DWARF5 variant. Note that the .debug_loclists moved to the .dwo file 508da0c48c4Sopenharmony_ci# and now uses an index and addrx indirections. 509da0c48c4Sopenharmony_citestfiles testfile-splitdwarf-5 testfile-hello5.dwo testfile-world5.dwo 510da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=loc --dwarf-skeleton=testfile-splitdwarf-5 testfile-hello5.dwo testfile-world5.dwo <<\EOF 511da0c48c4Sopenharmony_ci 512da0c48c4Sopenharmony_citestfile-hello5.dwo: 513da0c48c4Sopenharmony_ci 514da0c48c4Sopenharmony_ci 515da0c48c4Sopenharmony_ciDWARF section [ 3] '.debug_loclists.dwo' at offset 0x236: 516da0c48c4Sopenharmony_ciTable at Offset 0x0: 517da0c48c4Sopenharmony_ci 518da0c48c4Sopenharmony_ci Length: 125 519da0c48c4Sopenharmony_ci DWARF version: 5 520da0c48c4Sopenharmony_ci Address size: 8 521da0c48c4Sopenharmony_ci Segment size: 0 522da0c48c4Sopenharmony_ci Offset entries: 9 523da0c48c4Sopenharmony_ci CU [ 14] base: 0x0000000000401160 <foo> 524da0c48c4Sopenharmony_ci 525da0c48c4Sopenharmony_ci Offsets starting at 0xc: 526da0c48c4Sopenharmony_ci [ 0] 0x24 527da0c48c4Sopenharmony_ci [ 1] 0x32 528da0c48c4Sopenharmony_ci [ 2] 0x39 529da0c48c4Sopenharmony_ci [ 3] 0x3f 530da0c48c4Sopenharmony_ci [ 4] 0x4a 531da0c48c4Sopenharmony_ci [ 5] 0x55 532da0c48c4Sopenharmony_ci [ 6] 0x5b 533da0c48c4Sopenharmony_ci [ 7] 0x61 534da0c48c4Sopenharmony_ci [ 8] 0x6f 535da0c48c4Sopenharmony_ci 536da0c48c4Sopenharmony_ci Offset: 30, Index: 24 537da0c48c4Sopenharmony_ci startx_length f, a 538da0c48c4Sopenharmony_ci 0x0000000000401160 <foo>.. 539da0c48c4Sopenharmony_ci 0x0000000000401169 <foo+0x9> 540da0c48c4Sopenharmony_ci [ 0] reg5 541da0c48c4Sopenharmony_ci startx_length 0, 2a 542da0c48c4Sopenharmony_ci 0x000000000040116a <foo+0xa>.. 543da0c48c4Sopenharmony_ci 0x0000000000401193 <foo+0x33> 544da0c48c4Sopenharmony_ci [ 0] entry_value: 545da0c48c4Sopenharmony_ci [ 0] reg5 546da0c48c4Sopenharmony_ci [ 3] stack_value 547da0c48c4Sopenharmony_ci end_of_list 548da0c48c4Sopenharmony_ci 549da0c48c4Sopenharmony_ci Offset: 3e, Index: 32 550da0c48c4Sopenharmony_ci startx_length 11, 12 551da0c48c4Sopenharmony_ci 0x000000000040117b <foo+0x1b>.. 552da0c48c4Sopenharmony_ci 0x000000000040118c <foo+0x2c> 553da0c48c4Sopenharmony_ci [ 0] addrx [18] 0x404038 <m> 554da0c48c4Sopenharmony_ci end_of_list 555da0c48c4Sopenharmony_ci 556da0c48c4Sopenharmony_ci Offset: 45, Index: 39 557da0c48c4Sopenharmony_ci startx_length 11, 6 558da0c48c4Sopenharmony_ci 0x000000000040117b <foo+0x1b>.. 559da0c48c4Sopenharmony_ci 0x0000000000401180 <foo+0x20> 560da0c48c4Sopenharmony_ci [ 0] reg5 561da0c48c4Sopenharmony_ci end_of_list 562da0c48c4Sopenharmony_ci 563da0c48c4Sopenharmony_ci Offset: 4b, Index: 3f 564da0c48c4Sopenharmony_ci startx_length 11, c 565da0c48c4Sopenharmony_ci 0x000000000040117b <foo+0x1b>.. 566da0c48c4Sopenharmony_ci 0x0000000000401186 <foo+0x26> 567da0c48c4Sopenharmony_ci [ 0] reg5 568da0c48c4Sopenharmony_ci startx_length 1, 4 569da0c48c4Sopenharmony_ci 0x0000000000401189 <foo+0x29>.. 570da0c48c4Sopenharmony_ci 0x000000000040118c <foo+0x2c> 571da0c48c4Sopenharmony_ci [ 0] reg5 572da0c48c4Sopenharmony_ci end_of_list 573da0c48c4Sopenharmony_ci 574da0c48c4Sopenharmony_ci Offset: 56, Index: 4a 575da0c48c4Sopenharmony_ci startx_length 4, 6 576da0c48c4Sopenharmony_ci 0x0000000000401181 <foo+0x21>.. 577da0c48c4Sopenharmony_ci 0x0000000000401186 <foo+0x26> 578da0c48c4Sopenharmony_ci [ 0] reg5 579da0c48c4Sopenharmony_ci startx_length 1, 4 580da0c48c4Sopenharmony_ci 0x0000000000401189 <foo+0x29>.. 581da0c48c4Sopenharmony_ci 0x000000000040118c <foo+0x2c> 582da0c48c4Sopenharmony_ci [ 0] reg5 583da0c48c4Sopenharmony_ci end_of_list 584da0c48c4Sopenharmony_ci 585da0c48c4Sopenharmony_ci Offset: 61, Index: 55 586da0c48c4Sopenharmony_ci startx_length 4, c 587da0c48c4Sopenharmony_ci 0x0000000000401181 <foo+0x21>.. 588da0c48c4Sopenharmony_ci 0x000000000040118c <foo+0x2c> 589da0c48c4Sopenharmony_ci [ 0] reg5 590da0c48c4Sopenharmony_ci end_of_list 591da0c48c4Sopenharmony_ci 592da0c48c4Sopenharmony_ci Offset: 67, Index: 5b 593da0c48c4Sopenharmony_ci startx_length 2, 6 594da0c48c4Sopenharmony_ci 0x000000000040118d <foo+0x2d>.. 595da0c48c4Sopenharmony_ci 0x0000000000401192 <foo+0x32> 596da0c48c4Sopenharmony_ci [ 0] reg5 597da0c48c4Sopenharmony_ci end_of_list 598da0c48c4Sopenharmony_ci 599da0c48c4Sopenharmony_ci Offset: 6d, Index: 61 600da0c48c4Sopenharmony_ci startx_length 9, f 601da0c48c4Sopenharmony_ci 0x00000000004011a0 <baz>.. 602da0c48c4Sopenharmony_ci 0x00000000004011ae <baz+0xe> 603da0c48c4Sopenharmony_ci [ 0] reg5 604da0c48c4Sopenharmony_ci startx_length 5, 2 605da0c48c4Sopenharmony_ci 0x00000000004011af <baz+0xf>.. 606da0c48c4Sopenharmony_ci 0x00000000004011b0 <baz+0x10> 607da0c48c4Sopenharmony_ci [ 0] entry_value: 608da0c48c4Sopenharmony_ci [ 0] reg5 609da0c48c4Sopenharmony_ci [ 3] stack_value 610da0c48c4Sopenharmony_ci end_of_list 611da0c48c4Sopenharmony_ci 612da0c48c4Sopenharmony_ci Offset: 7b, Index: 6f 613da0c48c4Sopenharmony_ci startx_length 9, 10 614da0c48c4Sopenharmony_ci 0x00000000004011a0 <baz>.. 615da0c48c4Sopenharmony_ci 0x00000000004011af <baz+0xf> 616da0c48c4Sopenharmony_ci [ 0] reg5 617da0c48c4Sopenharmony_ci end_of_list 618da0c48c4Sopenharmony_ci 619da0c48c4Sopenharmony_ci 620da0c48c4Sopenharmony_citestfile-world5.dwo: 621da0c48c4Sopenharmony_ci 622da0c48c4Sopenharmony_ci 623da0c48c4Sopenharmony_ciDWARF section [ 3] '.debug_loclists.dwo' at offset 0x217: 624da0c48c4Sopenharmony_ciTable at Offset 0x0: 625da0c48c4Sopenharmony_ci 626da0c48c4Sopenharmony_ci Length: 128 627da0c48c4Sopenharmony_ci DWARF version: 5 628da0c48c4Sopenharmony_ci Address size: 8 629da0c48c4Sopenharmony_ci Segment size: 0 630da0c48c4Sopenharmony_ci Offset entries: 7 631da0c48c4Sopenharmony_ci CU [ 14] base: 000000000000000000 632da0c48c4Sopenharmony_ci 633da0c48c4Sopenharmony_ci Offsets starting at 0xc: 634da0c48c4Sopenharmony_ci [ 0] 0x1c 635da0c48c4Sopenharmony_ci [ 1] 0x2a 636da0c48c4Sopenharmony_ci [ 2] 0x38 637da0c48c4Sopenharmony_ci [ 3] 0x3e 638da0c48c4Sopenharmony_ci [ 4] 0x4c 639da0c48c4Sopenharmony_ci [ 5] 0x52 640da0c48c4Sopenharmony_ci [ 6] 0x6d 641da0c48c4Sopenharmony_ci 642da0c48c4Sopenharmony_ci Offset: 28, Index: 1c 643da0c48c4Sopenharmony_ci startx_length 2, 14 644da0c48c4Sopenharmony_ci 0x0000000000401060 <main>.. 645da0c48c4Sopenharmony_ci 0x0000000000401073 <main+0x13> 646da0c48c4Sopenharmony_ci [ 0] reg5 647da0c48c4Sopenharmony_ci startx_length 4, c 648da0c48c4Sopenharmony_ci 0x0000000000401074 <main+0x14>.. 649da0c48c4Sopenharmony_ci 0x000000000040107f <main+0x1f> 650da0c48c4Sopenharmony_ci [ 0] entry_value: 651da0c48c4Sopenharmony_ci [ 0] reg5 652da0c48c4Sopenharmony_ci [ 3] stack_value 653da0c48c4Sopenharmony_ci end_of_list 654da0c48c4Sopenharmony_ci 655da0c48c4Sopenharmony_ci Offset: 36, Index: 2a 656da0c48c4Sopenharmony_ci startx_length 2, 18 657da0c48c4Sopenharmony_ci 0x0000000000401060 <main>.. 658da0c48c4Sopenharmony_ci 0x0000000000401077 <main+0x17> 659da0c48c4Sopenharmony_ci [ 0] reg4 660da0c48c4Sopenharmony_ci startx_length 7, 6 661da0c48c4Sopenharmony_ci 0x0000000000401078 <main+0x18>.. 662da0c48c4Sopenharmony_ci 0x000000000040107d <main+0x1d> 663da0c48c4Sopenharmony_ci [ 0] entry_value: 664da0c48c4Sopenharmony_ci [ 0] reg4 665da0c48c4Sopenharmony_ci [ 3] stack_value 666da0c48c4Sopenharmony_ci end_of_list 667da0c48c4Sopenharmony_ci 668da0c48c4Sopenharmony_ci Offset: 44, Index: 38 669da0c48c4Sopenharmony_ci startx_length 3, 7 670da0c48c4Sopenharmony_ci 0x0000000000401071 <main+0x11>.. 671da0c48c4Sopenharmony_ci 0x0000000000401077 <main+0x17> 672da0c48c4Sopenharmony_ci [ 0] reg0 673da0c48c4Sopenharmony_ci end_of_list 674da0c48c4Sopenharmony_ci 675da0c48c4Sopenharmony_ci Offset: 4a, Index: 3e 676da0c48c4Sopenharmony_ci startx_length d, 8 677da0c48c4Sopenharmony_ci 0x00000000004011c0 <calc>.. 678da0c48c4Sopenharmony_ci 0x00000000004011c7 <calc+0x7> 679da0c48c4Sopenharmony_ci [ 0] reg5 680da0c48c4Sopenharmony_ci startx_length e, 23 681da0c48c4Sopenharmony_ci 0x00000000004011c8 <calc+0x8>.. 682da0c48c4Sopenharmony_ci 0x00000000004011ea <calc+0x2a> 683da0c48c4Sopenharmony_ci [ 0] entry_value: 684da0c48c4Sopenharmony_ci [ 0] reg5 685da0c48c4Sopenharmony_ci [ 3] stack_value 686da0c48c4Sopenharmony_ci end_of_list 687da0c48c4Sopenharmony_ci 688da0c48c4Sopenharmony_ci Offset: 58, Index: 4c 689da0c48c4Sopenharmony_ci startx_length f, b 690da0c48c4Sopenharmony_ci 0x00000000004011d8 <calc+0x18>.. 691da0c48c4Sopenharmony_ci 0x00000000004011e2 <calc+0x22> 692da0c48c4Sopenharmony_ci [ 0] reg0 693da0c48c4Sopenharmony_ci end_of_list 694da0c48c4Sopenharmony_ci 695da0c48c4Sopenharmony_ci Offset: 5e, Index: 52 696da0c48c4Sopenharmony_ci startx_length f, 2 697da0c48c4Sopenharmony_ci 0x00000000004011d8 <calc+0x18>.. 698da0c48c4Sopenharmony_ci 0x00000000004011d9 <calc+0x19> 699da0c48c4Sopenharmony_ci [ 0] reg1 700da0c48c4Sopenharmony_ci startx_length 10, 5 701da0c48c4Sopenharmony_ci 0x00000000004011da <calc+0x1a>.. 702da0c48c4Sopenharmony_ci 0x00000000004011de <calc+0x1e> 703da0c48c4Sopenharmony_ci [ 0] reg5 704da0c48c4Sopenharmony_ci startx_length 0, 4 705da0c48c4Sopenharmony_ci 0x00000000004011df <calc+0x1f>.. 706da0c48c4Sopenharmony_ci 0x00000000004011e2 <calc+0x22> 707da0c48c4Sopenharmony_ci [ 0] entry_value: 708da0c48c4Sopenharmony_ci [ 0] reg5 709da0c48c4Sopenharmony_ci [ 3] deref_size 1 710da0c48c4Sopenharmony_ci [ 5] const1u 56 711da0c48c4Sopenharmony_ci [ 7] shl 712da0c48c4Sopenharmony_ci [ 8] const1u 56 713da0c48c4Sopenharmony_ci [10] shra 714da0c48c4Sopenharmony_ci [11] stack_value 715da0c48c4Sopenharmony_ci end_of_list 716da0c48c4Sopenharmony_ci 717da0c48c4Sopenharmony_ci Offset: 79, Index: 6d 718da0c48c4Sopenharmony_ci startx_length f, 2 719da0c48c4Sopenharmony_ci 0x00000000004011d8 <calc+0x18>.. 720da0c48c4Sopenharmony_ci 0x00000000004011d9 <calc+0x19> 721da0c48c4Sopenharmony_ci [ 0] reg1 722da0c48c4Sopenharmony_ci startx_length 10, 9 723da0c48c4Sopenharmony_ci 0x00000000004011da <calc+0x1a>.. 724da0c48c4Sopenharmony_ci 0x00000000004011e2 <calc+0x22> 725da0c48c4Sopenharmony_ci [ 0] reg5 726da0c48c4Sopenharmony_ci end_of_list 727da0c48c4Sopenharmony_ci 728da0c48c4Sopenharmony_ciEOF 729da0c48c4Sopenharmony_ci 730da0c48c4Sopenharmony_ci# GNU DebugFission split-dwarf variant. Still uses .debug_loc, but now in 731da0c48c4Sopenharmony_ci# .dwo file, with somewhat similar, but different encoding from DWARF5. 732da0c48c4Sopenharmony_citestfiles testfile-splitdwarf-4 testfile-hello4.dwo testfile-world4.dwo 733da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=loc --dwarf-skeleton=testfile-splitdwarf-4 testfile-hello4.dwo testfile-world4.dwo <<\EOF 734da0c48c4Sopenharmony_ci 735da0c48c4Sopenharmony_citestfile-hello4.dwo: 736da0c48c4Sopenharmony_ci 737da0c48c4Sopenharmony_ci 738da0c48c4Sopenharmony_ciDWARF section [ 3] '.debug_loc.dwo' at offset 0x253: 739da0c48c4Sopenharmony_ci 740da0c48c4Sopenharmony_ci CU [ b] base: 0x0000000000401160 <foo> 741da0c48c4Sopenharmony_ci [ 0] range 401160, 40116a 742da0c48c4Sopenharmony_ci 0x0000000000401160 <foo>.. 743da0c48c4Sopenharmony_ci 0x0000000000401169 <foo+0x9> 744da0c48c4Sopenharmony_ci [ 0] reg5 745da0c48c4Sopenharmony_ci range 40116a, 401194 746da0c48c4Sopenharmony_ci 0x000000000040116a <foo+0xa>.. 747da0c48c4Sopenharmony_ci 0x0000000000401193 <foo+0x33> 748da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 749da0c48c4Sopenharmony_ci [ 0] reg5 750da0c48c4Sopenharmony_ci [ 3] stack_value 751da0c48c4Sopenharmony_ci [ 16] range 40117b, 40118d 752da0c48c4Sopenharmony_ci 0x000000000040117b <foo+0x1b>.. 753da0c48c4Sopenharmony_ci 0x000000000040118c <foo+0x2c> 754da0c48c4Sopenharmony_ci [ 0] GNU_addr_index [18] 0x404038 <m> 755da0c48c4Sopenharmony_ci [ 21] range 40117b, 401181 756da0c48c4Sopenharmony_ci 0x000000000040117b <foo+0x1b>.. 757da0c48c4Sopenharmony_ci 0x0000000000401180 <foo+0x20> 758da0c48c4Sopenharmony_ci [ 0] reg5 759da0c48c4Sopenharmony_ci [ 2b] range 40117b, 401187 760da0c48c4Sopenharmony_ci 0x000000000040117b <foo+0x1b>.. 761da0c48c4Sopenharmony_ci 0x0000000000401186 <foo+0x26> 762da0c48c4Sopenharmony_ci [ 0] reg5 763da0c48c4Sopenharmony_ci range 401189, 40118d 764da0c48c4Sopenharmony_ci 0x0000000000401189 <foo+0x29>.. 765da0c48c4Sopenharmony_ci 0x000000000040118c <foo+0x2c> 766da0c48c4Sopenharmony_ci [ 0] reg5 767da0c48c4Sopenharmony_ci [ 3e] range 401181, 401187 768da0c48c4Sopenharmony_ci 0x0000000000401181 <foo+0x21>.. 769da0c48c4Sopenharmony_ci 0x0000000000401186 <foo+0x26> 770da0c48c4Sopenharmony_ci [ 0] reg5 771da0c48c4Sopenharmony_ci range 401189, 40118d 772da0c48c4Sopenharmony_ci 0x0000000000401189 <foo+0x29>.. 773da0c48c4Sopenharmony_ci 0x000000000040118c <foo+0x2c> 774da0c48c4Sopenharmony_ci [ 0] reg5 775da0c48c4Sopenharmony_ci [ 51] range 401181, 40118d 776da0c48c4Sopenharmony_ci 0x0000000000401181 <foo+0x21>.. 777da0c48c4Sopenharmony_ci 0x000000000040118c <foo+0x2c> 778da0c48c4Sopenharmony_ci [ 0] reg5 779da0c48c4Sopenharmony_ci [ 5b] range 40118d, 401193 780da0c48c4Sopenharmony_ci 0x000000000040118d <foo+0x2d>.. 781da0c48c4Sopenharmony_ci 0x0000000000401192 <foo+0x32> 782da0c48c4Sopenharmony_ci [ 0] reg5 783da0c48c4Sopenharmony_ci [ 65] range 4011a0, 4011af 784da0c48c4Sopenharmony_ci 0x00000000004011a0 <baz>.. 785da0c48c4Sopenharmony_ci 0x00000000004011ae <baz+0xe> 786da0c48c4Sopenharmony_ci [ 0] reg5 787da0c48c4Sopenharmony_ci range 4011af, 4011b1 788da0c48c4Sopenharmony_ci 0x00000000004011af <baz+0xf>.. 789da0c48c4Sopenharmony_ci 0x00000000004011b0 <baz+0x10> 790da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 791da0c48c4Sopenharmony_ci [ 0] reg5 792da0c48c4Sopenharmony_ci [ 3] stack_value 793da0c48c4Sopenharmony_ci [ 7b] range 4011a0, 4011b0 794da0c48c4Sopenharmony_ci 0x00000000004011a0 <baz>.. 795da0c48c4Sopenharmony_ci 0x00000000004011af <baz+0xf> 796da0c48c4Sopenharmony_ci [ 0] reg5 797da0c48c4Sopenharmony_ci 798da0c48c4Sopenharmony_citestfile-world4.dwo: 799da0c48c4Sopenharmony_ci 800da0c48c4Sopenharmony_ci 801da0c48c4Sopenharmony_ciDWARF section [ 3] '.debug_loc.dwo' at offset 0x225: 802da0c48c4Sopenharmony_ci 803da0c48c4Sopenharmony_ci CU [ b] base: 000000000000000000 804da0c48c4Sopenharmony_ci [ 0] range 401060, 401074 805da0c48c4Sopenharmony_ci 0x0000000000401060 <main>.. 806da0c48c4Sopenharmony_ci 0x0000000000401073 <main+0x13> 807da0c48c4Sopenharmony_ci [ 0] reg5 808da0c48c4Sopenharmony_ci range 401074, 401080 809da0c48c4Sopenharmony_ci 0x0000000000401074 <main+0x14>.. 810da0c48c4Sopenharmony_ci 0x000000000040107f <main+0x1f> 811da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 812da0c48c4Sopenharmony_ci [ 0] reg5 813da0c48c4Sopenharmony_ci [ 3] stack_value 814da0c48c4Sopenharmony_ci [ 16] range 401060, 401078 815da0c48c4Sopenharmony_ci 0x0000000000401060 <main>.. 816da0c48c4Sopenharmony_ci 0x0000000000401077 <main+0x17> 817da0c48c4Sopenharmony_ci [ 0] reg4 818da0c48c4Sopenharmony_ci range 401078, 40107e 819da0c48c4Sopenharmony_ci 0x0000000000401078 <main+0x18>.. 820da0c48c4Sopenharmony_ci 0x000000000040107d <main+0x1d> 821da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 822da0c48c4Sopenharmony_ci [ 0] reg4 823da0c48c4Sopenharmony_ci [ 3] stack_value 824da0c48c4Sopenharmony_ci [ 2c] range 401071, 401078 825da0c48c4Sopenharmony_ci 0x0000000000401071 <main+0x11>.. 826da0c48c4Sopenharmony_ci 0x0000000000401077 <main+0x17> 827da0c48c4Sopenharmony_ci [ 0] reg0 828da0c48c4Sopenharmony_ci [ 36] range 4011c0, 4011c8 829da0c48c4Sopenharmony_ci 0x00000000004011c0 <calc>.. 830da0c48c4Sopenharmony_ci 0x00000000004011c7 <calc+0x7> 831da0c48c4Sopenharmony_ci [ 0] reg5 832da0c48c4Sopenharmony_ci range 4011c8, 4011eb 833da0c48c4Sopenharmony_ci 0x00000000004011c8 <calc+0x8>.. 834da0c48c4Sopenharmony_ci 0x00000000004011ea <calc+0x2a> 835da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 836da0c48c4Sopenharmony_ci [ 0] reg5 837da0c48c4Sopenharmony_ci [ 3] stack_value 838da0c48c4Sopenharmony_ci [ 4c] range 4011d8, 4011e3 839da0c48c4Sopenharmony_ci 0x00000000004011d8 <calc+0x18>.. 840da0c48c4Sopenharmony_ci 0x00000000004011e2 <calc+0x22> 841da0c48c4Sopenharmony_ci [ 0] reg0 842da0c48c4Sopenharmony_ci [ 56] range 4011d8, 4011da 843da0c48c4Sopenharmony_ci 0x00000000004011d8 <calc+0x18>.. 844da0c48c4Sopenharmony_ci 0x00000000004011d9 <calc+0x19> 845da0c48c4Sopenharmony_ci [ 0] reg1 846da0c48c4Sopenharmony_ci range 4011da, 4011df 847da0c48c4Sopenharmony_ci 0x00000000004011da <calc+0x1a>.. 848da0c48c4Sopenharmony_ci 0x00000000004011de <calc+0x1e> 849da0c48c4Sopenharmony_ci [ 0] reg5 850da0c48c4Sopenharmony_ci range 4011df, 4011e3 851da0c48c4Sopenharmony_ci 0x00000000004011df <calc+0x1f>.. 852da0c48c4Sopenharmony_ci 0x00000000004011e2 <calc+0x22> 853da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 854da0c48c4Sopenharmony_ci [ 0] reg5 855da0c48c4Sopenharmony_ci [ 3] deref_size 1 856da0c48c4Sopenharmony_ci [ 5] const1u 56 857da0c48c4Sopenharmony_ci [ 7] shl 858da0c48c4Sopenharmony_ci [ 8] const1u 56 859da0c48c4Sopenharmony_ci [10] shra 860da0c48c4Sopenharmony_ci [11] stack_value 861da0c48c4Sopenharmony_ci [ 7d] range 4011d8, 4011da 862da0c48c4Sopenharmony_ci 0x00000000004011d8 <calc+0x18>.. 863da0c48c4Sopenharmony_ci 0x00000000004011d9 <calc+0x19> 864da0c48c4Sopenharmony_ci [ 0] reg1 865da0c48c4Sopenharmony_ci range 4011da, 4011e3 866da0c48c4Sopenharmony_ci 0x00000000004011da <calc+0x1a>.. 867da0c48c4Sopenharmony_ci 0x00000000004011e2 <calc+0x22> 868da0c48c4Sopenharmony_ci [ 0] reg5 869da0c48c4Sopenharmony_ciEOF 870da0c48c4Sopenharmony_ci 871da0c48c4Sopenharmony_ci# Partial dwarf-4 and partial GNU DebugFission split-dwarf. 872da0c48c4Sopenharmony_ci# 873da0c48c4Sopenharmony_ci# = popcount.c = 874da0c48c4Sopenharmony_ci# 875da0c48c4Sopenharmony_ci# int popcount (unsigned char u) 876da0c48c4Sopenharmony_ci# { 877da0c48c4Sopenharmony_ci# int c = 0; 878da0c48c4Sopenharmony_ci# while (u != 0) 879da0c48c4Sopenharmony_ci# { 880da0c48c4Sopenharmony_ci# if ((u & 1) == 1) 881da0c48c4Sopenharmony_ci# c++; 882da0c48c4Sopenharmony_ci# u >>= 1; 883da0c48c4Sopenharmony_ci# } 884da0c48c4Sopenharmony_ci# return c; 885da0c48c4Sopenharmony_ci# } 886da0c48c4Sopenharmony_ci# 887da0c48c4Sopenharmony_ci# = splitdwarf4-not-split4.c = 888da0c48c4Sopenharmony_ci# 889da0c48c4Sopenharmony_ci# extern int popcount (unsigned char); 890da0c48c4Sopenharmony_ci# 891da0c48c4Sopenharmony_ci# int main (int argc, char **argv) 892da0c48c4Sopenharmony_ci# { 893da0c48c4Sopenharmony_ci# int i; 894da0c48c4Sopenharmony_ci# int p = argc; 895da0c48c4Sopenharmony_ci# for (i = 0; i < argc; ++i) 896da0c48c4Sopenharmony_ci# p += popcount (argv[i][0]); 897da0c48c4Sopenharmony_ci# i += p; 898da0c48c4Sopenharmony_ci# return i; 899da0c48c4Sopenharmony_ci# } 900da0c48c4Sopenharmony_ci# 901da0c48c4Sopenharmony_ci# gcc -gdwarf-4 -O2 -c popcount.c 902da0c48c4Sopenharmony_ci# gcc -gdwarf-4 -gsplit-dwarf -O2 -c splitdwarf4-not-split4.c 903da0c48c4Sopenharmony_ci# gcc -o testfile-splitdwarf4-not-split4 splitdwarf4-not-split4.o popcount.o 904da0c48c4Sopenharmony_ci# eu-strip -f testfile-splitdwarf4-not-split4.debug \ 905da0c48c4Sopenharmony_ci# testfile-splitdwarf4-not-split4 906da0c48c4Sopenharmony_ci 907da0c48c4Sopenharmony_citestfiles testfile-splitdwarf4-not-split4.debug 908da0c48c4Sopenharmony_citestfiles splitdwarf4-not-split4.dwo 909da0c48c4Sopenharmony_ci 910da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=info+ --debug-dump=loc testfile-splitdwarf4-not-split4.debug <<\EOF 911da0c48c4Sopenharmony_ci 912da0c48c4Sopenharmony_ciDWARF section [28] '.debug_info' at offset 0x330: 913da0c48c4Sopenharmony_ci [Offset] 914da0c48c4Sopenharmony_ci Compilation unit at offset 0: 915da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4 916da0c48c4Sopenharmony_ci Unit type: skeleton (4), Unit id: 0x3d909d7bd0e69c0b 917da0c48c4Sopenharmony_ci [ b] compile_unit abbrev: 1 918da0c48c4Sopenharmony_ci ranges (sec_offset) range list [ 0] 919da0c48c4Sopenharmony_ci low_pc (addr) 000000000000000000 920da0c48c4Sopenharmony_ci stmt_list (sec_offset) 0 921da0c48c4Sopenharmony_ci GNU_dwo_name (strp) "splitdwarf4-not-split4.dwo" 922da0c48c4Sopenharmony_ci comp_dir (strp) "/tmp" 923da0c48c4Sopenharmony_ci GNU_pubnames (flag_present) yes 924da0c48c4Sopenharmony_ci GNU_addr_base (sec_offset) address base [ 0] 925da0c48c4Sopenharmony_ci GNU_dwo_id (data8) 0x3d909d7bd0e69c0b 926da0c48c4Sopenharmony_ci GNU_ranges_base (sec_offset) 0 927da0c48c4Sopenharmony_ci Split compilation unit at offset 0: 928da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4 929da0c48c4Sopenharmony_ci Unit type: skeleton (4), Unit id: 0x3d909d7bd0e69c0b 930da0c48c4Sopenharmony_ci { b} compile_unit abbrev: 1 931da0c48c4Sopenharmony_ci producer (GNU_str_index) "GNU C17 9.0.0 20180528 (experimental) -mtune=generic -march=x86-64 -gdwarf-4 -gsplit-dwarf -O2" 932da0c48c4Sopenharmony_ci language (data1) C99 (12) 933da0c48c4Sopenharmony_ci name (GNU_str_index) "splitdwarf4-not-split4.c" 934da0c48c4Sopenharmony_ci comp_dir (GNU_str_index) "/tmp" 935da0c48c4Sopenharmony_ci GNU_dwo_id (data8) 0x3d909d7bd0e69c0b 936da0c48c4Sopenharmony_ci { 18} subprogram abbrev: 2 937da0c48c4Sopenharmony_ci external (flag_present) yes 938da0c48c4Sopenharmony_ci name (GNU_str_index) "main" 939da0c48c4Sopenharmony_ci decl_file (data1) splitdwarf4-not-split4.c (1) 940da0c48c4Sopenharmony_ci decl_line (data1) 3 941da0c48c4Sopenharmony_ci decl_column (data1) 5 942da0c48c4Sopenharmony_ci prototyped (flag_present) yes 943da0c48c4Sopenharmony_ci type (ref4) { 6d} 944da0c48c4Sopenharmony_ci low_pc (GNU_addr_index) [4] 0x0000000000401050 <main> 945da0c48c4Sopenharmony_ci high_pc (data8) 76 (0x000000000040109c <_start>) 946da0c48c4Sopenharmony_ci frame_base (exprloc) 947da0c48c4Sopenharmony_ci [ 0] call_frame_cfa 948da0c48c4Sopenharmony_ci GNU_all_call_sites (flag_present) yes 949da0c48c4Sopenharmony_ci sibling (ref4) { 6d} 950da0c48c4Sopenharmony_ci { 30} formal_parameter abbrev: 3 951da0c48c4Sopenharmony_ci name (GNU_str_index) "argc" 952da0c48c4Sopenharmony_ci decl_file (data1) splitdwarf4-not-split4.c (1) 953da0c48c4Sopenharmony_ci decl_line (data1) 3 954da0c48c4Sopenharmony_ci decl_column (data1) 15 955da0c48c4Sopenharmony_ci type (ref4) { 6d} 956da0c48c4Sopenharmony_ci location (sec_offset) location list [ 0] 957da0c48c4Sopenharmony_ci { 3d} formal_parameter abbrev: 3 958da0c48c4Sopenharmony_ci name (GNU_str_index) "argv" 959da0c48c4Sopenharmony_ci decl_file (data1) splitdwarf4-not-split4.c (1) 960da0c48c4Sopenharmony_ci decl_line (data1) 3 961da0c48c4Sopenharmony_ci decl_column (data1) 28 962da0c48c4Sopenharmony_ci type (ref4) { 74} 963da0c48c4Sopenharmony_ci location (sec_offset) location list [ 28] 964da0c48c4Sopenharmony_ci { 4a} variable abbrev: 4 965da0c48c4Sopenharmony_ci name (string) "i" 966da0c48c4Sopenharmony_ci decl_file (data1) splitdwarf4-not-split4.c (1) 967da0c48c4Sopenharmony_ci decl_line (data1) 5 968da0c48c4Sopenharmony_ci decl_column (data1) 7 969da0c48c4Sopenharmony_ci type (ref4) { 6d} 970da0c48c4Sopenharmony_ci location (sec_offset) location list [ 47] 971da0c48c4Sopenharmony_ci { 58} variable abbrev: 4 972da0c48c4Sopenharmony_ci name (string) "p" 973da0c48c4Sopenharmony_ci decl_file (data1) splitdwarf4-not-split4.c (1) 974da0c48c4Sopenharmony_ci decl_line (data1) 6 975da0c48c4Sopenharmony_ci decl_column (data1) 7 976da0c48c4Sopenharmony_ci type (ref4) { 6d} 977da0c48c4Sopenharmony_ci location (sec_offset) location list [ 73] 978da0c48c4Sopenharmony_ci { 66} GNU_call_site abbrev: 5 979da0c48c4Sopenharmony_ci low_pc (GNU_addr_index) [1] 0x000000000040107f <main+0x2f> 980da0c48c4Sopenharmony_ci abstract_origin (ref4) { 84} 981da0c48c4Sopenharmony_ci { 6d} base_type abbrev: 6 982da0c48c4Sopenharmony_ci byte_size (data1) 4 983da0c48c4Sopenharmony_ci encoding (data1) signed (5) 984da0c48c4Sopenharmony_ci name (string) "int" 985da0c48c4Sopenharmony_ci { 74} pointer_type abbrev: 7 986da0c48c4Sopenharmony_ci byte_size (data1) 8 987da0c48c4Sopenharmony_ci type (ref4) { 7a} 988da0c48c4Sopenharmony_ci { 7a} pointer_type abbrev: 7 989da0c48c4Sopenharmony_ci byte_size (data1) 8 990da0c48c4Sopenharmony_ci type (ref4) { 80} 991da0c48c4Sopenharmony_ci { 80} base_type abbrev: 8 992da0c48c4Sopenharmony_ci byte_size (data1) 1 993da0c48c4Sopenharmony_ci encoding (data1) signed_char (6) 994da0c48c4Sopenharmony_ci name (GNU_str_index) "char" 995da0c48c4Sopenharmony_ci { 84} subprogram abbrev: 9 996da0c48c4Sopenharmony_ci external (flag_present) yes 997da0c48c4Sopenharmony_ci declaration (flag_present) yes 998da0c48c4Sopenharmony_ci linkage_name (GNU_str_index) "popcount" 999da0c48c4Sopenharmony_ci name (GNU_str_index) "popcount" 1000da0c48c4Sopenharmony_ci decl_file (data1) splitdwarf4-not-split4.c (1) 1001da0c48c4Sopenharmony_ci decl_line (data1) 1 1002da0c48c4Sopenharmony_ci decl_column (data1) 12 1003da0c48c4Sopenharmony_ci Compilation unit at offset 52: 1004da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 29, Address size: 8, Offset size: 4 1005da0c48c4Sopenharmony_ci [ 3f] compile_unit abbrev: 1 1006da0c48c4Sopenharmony_ci producer (strp) "GNU C17 9.0.0 20180528 (experimental) -mtune=generic -march=x86-64 -gdwarf-4 -O2" 1007da0c48c4Sopenharmony_ci language (data1) C99 (12) 1008da0c48c4Sopenharmony_ci name (strp) "popcount.c" 1009da0c48c4Sopenharmony_ci comp_dir (strp) "/tmp" 1010da0c48c4Sopenharmony_ci low_pc (addr) 0x0000000000401180 <popcount> 1011da0c48c4Sopenharmony_ci high_pc (data8) 33 (0x00000000004011a1) 1012da0c48c4Sopenharmony_ci stmt_list (sec_offset) 145 1013da0c48c4Sopenharmony_ci [ 61] subprogram abbrev: 2 1014da0c48c4Sopenharmony_ci external (flag_present) yes 1015da0c48c4Sopenharmony_ci name (strp) "popcount" 1016da0c48c4Sopenharmony_ci decl_file (data1) popcount.c (1) 1017da0c48c4Sopenharmony_ci decl_line (data1) 1 1018da0c48c4Sopenharmony_ci decl_column (data1) 5 1019da0c48c4Sopenharmony_ci prototyped (flag_present) yes 1020da0c48c4Sopenharmony_ci type (ref4) [ a0] 1021da0c48c4Sopenharmony_ci low_pc (addr) 0x0000000000401180 <popcount> 1022da0c48c4Sopenharmony_ci high_pc (data8) 33 (0x00000000004011a1) 1023da0c48c4Sopenharmony_ci frame_base (exprloc) 1024da0c48c4Sopenharmony_ci [ 0] call_frame_cfa 1025da0c48c4Sopenharmony_ci GNU_all_call_sites (flag_present) yes 1026da0c48c4Sopenharmony_ci sibling (ref4) [ a0] 1027da0c48c4Sopenharmony_ci [ 83] formal_parameter abbrev: 3 1028da0c48c4Sopenharmony_ci name (string) "u" 1029da0c48c4Sopenharmony_ci decl_file (data1) popcount.c (1) 1030da0c48c4Sopenharmony_ci decl_line (data1) 1 1031da0c48c4Sopenharmony_ci decl_column (data1) 29 1032da0c48c4Sopenharmony_ci type (ref4) [ a7] 1033da0c48c4Sopenharmony_ci location (sec_offset) location list [ 0] 1034da0c48c4Sopenharmony_ci [ 91] variable abbrev: 4 1035da0c48c4Sopenharmony_ci name (string) "c" 1036da0c48c4Sopenharmony_ci decl_file (data1) popcount.c (1) 1037da0c48c4Sopenharmony_ci decl_line (data1) 3 1038da0c48c4Sopenharmony_ci decl_column (data1) 7 1039da0c48c4Sopenharmony_ci type (ref4) [ a0] 1040da0c48c4Sopenharmony_ci location (sec_offset) location list [ 60] 1041da0c48c4Sopenharmony_ci [ a0] base_type abbrev: 5 1042da0c48c4Sopenharmony_ci byte_size (data1) 4 1043da0c48c4Sopenharmony_ci encoding (data1) signed (5) 1044da0c48c4Sopenharmony_ci name (string) "int" 1045da0c48c4Sopenharmony_ci [ a7] base_type abbrev: 6 1046da0c48c4Sopenharmony_ci byte_size (data1) 1 1047da0c48c4Sopenharmony_ci encoding (data1) unsigned_char (8) 1048da0c48c4Sopenharmony_ci name (strp) "unsigned char" 1049da0c48c4Sopenharmony_ci 1050da0c48c4Sopenharmony_ciDWARF section [32] '.debug_loc' at offset 0x5ef: 1051da0c48c4Sopenharmony_ci 1052da0c48c4Sopenharmony_ci CU [ 3f] base: 0x0000000000401180 <popcount> 1053da0c48c4Sopenharmony_ci [ 0] range 0, 9 1054da0c48c4Sopenharmony_ci 0x0000000000401180 <popcount>.. 1055da0c48c4Sopenharmony_ci 0x0000000000401188 <popcount+0x8> 1056da0c48c4Sopenharmony_ci [ 0] reg5 1057da0c48c4Sopenharmony_ci range 9, 1b 1058da0c48c4Sopenharmony_ci 0x0000000000401189 <popcount+0x9>.. 1059da0c48c4Sopenharmony_ci 0x000000000040119a <popcount+0x1a> 1060da0c48c4Sopenharmony_ci [ 0] reg1 1061da0c48c4Sopenharmony_ci range 1b, 1d 1062da0c48c4Sopenharmony_ci 0x000000000040119b <popcount+0x1b>.. 1063da0c48c4Sopenharmony_ci 0x000000000040119c <popcount+0x1c> 1064da0c48c4Sopenharmony_ci [ 0] breg1 0 1065da0c48c4Sopenharmony_ci [ 2] lit1 1066da0c48c4Sopenharmony_ci [ 3] shr 1067da0c48c4Sopenharmony_ci [ 4] stack_value 1068da0c48c4Sopenharmony_ci range 1d, 21 1069da0c48c4Sopenharmony_ci 0x000000000040119d <popcount+0x1d>.. 1070da0c48c4Sopenharmony_ci 0x00000000004011a0 <popcount+0x20> 1071da0c48c4Sopenharmony_ci [ 0] reg1 1072da0c48c4Sopenharmony_ci [ 60] range 0, 9 1073da0c48c4Sopenharmony_ci 0x0000000000401180 <popcount>.. 1074da0c48c4Sopenharmony_ci 0x0000000000401188 <popcount+0x8> 1075da0c48c4Sopenharmony_ci [ 0] lit0 1076da0c48c4Sopenharmony_ci [ 1] stack_value 1077da0c48c4Sopenharmony_ci range 9, 20 1078da0c48c4Sopenharmony_ci 0x0000000000401189 <popcount+0x9>.. 1079da0c48c4Sopenharmony_ci 0x000000000040119f <popcount+0x1f> 1080da0c48c4Sopenharmony_ci [ 0] reg0 1081da0c48c4Sopenharmony_ci range 20, 21 1082da0c48c4Sopenharmony_ci 0x00000000004011a0 <popcount+0x20>.. 1083da0c48c4Sopenharmony_ci 0x00000000004011a0 <popcount+0x20> 1084da0c48c4Sopenharmony_ci [ 0] lit0 1085da0c48c4Sopenharmony_ci [ 1] stack_value 1086da0c48c4Sopenharmony_ciEOF 1087da0c48c4Sopenharmony_ci 1088da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --dwarf-skeleton=testfile-splitdwarf4-not-split4.debug --debug-dump=loc splitdwarf4-not-split4.dwo <<\EOF 1089da0c48c4Sopenharmony_ci 1090da0c48c4Sopenharmony_ciDWARF section [ 3] '.debug_loc.dwo' at offset 0x15b: 1091da0c48c4Sopenharmony_ci 1092da0c48c4Sopenharmony_ci CU [ b] base: 000000000000000000 1093da0c48c4Sopenharmony_ci [ 0] range 401050, 40106e 1094da0c48c4Sopenharmony_ci 0x0000000000401050 <main>.. 1095da0c48c4Sopenharmony_ci 0x000000000040106d <main+0x1d> 1096da0c48c4Sopenharmony_ci [ 0] reg5 1097da0c48c4Sopenharmony_ci range 40106e, 401086 1098da0c48c4Sopenharmony_ci 0x000000000040106e <main+0x1e>.. 1099da0c48c4Sopenharmony_ci 0x0000000000401085 <main+0x35> 1100da0c48c4Sopenharmony_ci [ 0] reg12 1101da0c48c4Sopenharmony_ci range 401086, 401095 1102da0c48c4Sopenharmony_ci 0x0000000000401086 <main+0x36>.. 1103da0c48c4Sopenharmony_ci 0x0000000000401094 <main+0x44> 1104da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 1105da0c48c4Sopenharmony_ci [ 0] reg5 1106da0c48c4Sopenharmony_ci [ 3] stack_value 1107da0c48c4Sopenharmony_ci range 401095, 40109c 1108da0c48c4Sopenharmony_ci 0x0000000000401095 <main+0x45>.. 1109da0c48c4Sopenharmony_ci 0x000000000040109b <main+0x4b> 1110da0c48c4Sopenharmony_ci [ 0] reg5 1111da0c48c4Sopenharmony_ci [ 28] range 401050, 40106e 1112da0c48c4Sopenharmony_ci 0x0000000000401050 <main>.. 1113da0c48c4Sopenharmony_ci 0x000000000040106d <main+0x1d> 1114da0c48c4Sopenharmony_ci [ 0] reg4 1115da0c48c4Sopenharmony_ci range 40106e, 401095 1116da0c48c4Sopenharmony_ci 0x000000000040106e <main+0x1e>.. 1117da0c48c4Sopenharmony_ci 0x0000000000401094 <main+0x44> 1118da0c48c4Sopenharmony_ci [ 0] GNU_entry_value: 1119da0c48c4Sopenharmony_ci [ 0] reg4 1120da0c48c4Sopenharmony_ci [ 3] stack_value 1121da0c48c4Sopenharmony_ci range 401095, 40109c 1122da0c48c4Sopenharmony_ci 0x0000000000401095 <main+0x45>.. 1123da0c48c4Sopenharmony_ci 0x000000000040109b <main+0x4b> 1124da0c48c4Sopenharmony_ci [ 0] reg4 1125da0c48c4Sopenharmony_ci [ 47] range 401050, 40106e 1126da0c48c4Sopenharmony_ci 0x0000000000401050 <main>.. 1127da0c48c4Sopenharmony_ci 0x000000000040106d <main+0x1d> 1128da0c48c4Sopenharmony_ci [ 0] lit0 1129da0c48c4Sopenharmony_ci [ 1] stack_value 1130da0c48c4Sopenharmony_ci range 401086, 40108e 1131da0c48c4Sopenharmony_ci 0x0000000000401086 <main+0x36>.. 1132da0c48c4Sopenharmony_ci 0x000000000040108d <main+0x3d> 1133da0c48c4Sopenharmony_ci [ 0] breg12 0 1134da0c48c4Sopenharmony_ci [ 2] breg6 0 1135da0c48c4Sopenharmony_ci [ 4] plus 1136da0c48c4Sopenharmony_ci [ 5] stack_value 1137da0c48c4Sopenharmony_ci range 40108e, 401095 1138da0c48c4Sopenharmony_ci 0x000000000040108e <main+0x3e>.. 1139da0c48c4Sopenharmony_ci 0x0000000000401094 <main+0x44> 1140da0c48c4Sopenharmony_ci [ 0] reg0 1141da0c48c4Sopenharmony_ci range 401095, 40109c 1142da0c48c4Sopenharmony_ci 0x0000000000401095 <main+0x45>.. 1143da0c48c4Sopenharmony_ci 0x000000000040109b <main+0x4b> 1144da0c48c4Sopenharmony_ci [ 0] lit0 1145da0c48c4Sopenharmony_ci [ 1] stack_value 1146da0c48c4Sopenharmony_ci [ 73] range 401050, 40106e 1147da0c48c4Sopenharmony_ci 0x0000000000401050 <main>.. 1148da0c48c4Sopenharmony_ci 0x000000000040106d <main+0x1d> 1149da0c48c4Sopenharmony_ci [ 0] reg5 1150da0c48c4Sopenharmony_ci range 40106e, 401090 1151da0c48c4Sopenharmony_ci 0x000000000040106e <main+0x1e>.. 1152da0c48c4Sopenharmony_ci 0x000000000040108f <main+0x3f> 1153da0c48c4Sopenharmony_ci [ 0] reg6 1154da0c48c4Sopenharmony_ci range 401095, 40109c 1155da0c48c4Sopenharmony_ci 0x0000000000401095 <main+0x45>.. 1156da0c48c4Sopenharmony_ci 0x000000000040109b <main+0x4b> 1157da0c48c4Sopenharmony_ci [ 0] reg5 1158da0c48c4Sopenharmony_ciEOF 1159da0c48c4Sopenharmony_ci 1160da0c48c4Sopenharmony_ciexit 0 1161