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