1da0c48c4Sopenharmony_ci#! /bin/sh 2da0c48c4Sopenharmony_ci# Copyright (C) 2012, 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# common.h 21da0c48c4Sopenharmony_ci# 22da0c48c4Sopenharmony_ci# #include <stdio.h> 23da0c48c4Sopenharmony_ci# 24da0c48c4Sopenharmony_ci# struct foobar 25da0c48c4Sopenharmony_ci# { 26da0c48c4Sopenharmony_ci# int foo; 27da0c48c4Sopenharmony_ci# struct foobar *bar; 28da0c48c4Sopenharmony_ci# }; 29da0c48c4Sopenharmony_ci# 30da0c48c4Sopenharmony_ci# extern int call_foo(struct foobar *foobar_struct_ptr); 31da0c48c4Sopenharmony_ci 32da0c48c4Sopenharmony_ci# main.c 33da0c48c4Sopenharmony_ci# 34da0c48c4Sopenharmony_ci# #include "common.h" 35da0c48c4Sopenharmony_ci# 36da0c48c4Sopenharmony_ci# int main(int argc, char ** argv) 37da0c48c4Sopenharmony_ci# { 38da0c48c4Sopenharmony_ci# struct foobar b; 39da0c48c4Sopenharmony_ci# b.foo = 42; 40da0c48c4Sopenharmony_ci# b.bar = &b; 41da0c48c4Sopenharmony_ci# 42da0c48c4Sopenharmony_ci# return call_foo(b.bar); 43da0c48c4Sopenharmony_ci# } 44da0c48c4Sopenharmony_ci 45da0c48c4Sopenharmony_ci# shared.c 46da0c48c4Sopenharmony_ci# 47da0c48c4Sopenharmony_ci# #include "common.h" 48da0c48c4Sopenharmony_ci# 49da0c48c4Sopenharmony_ci# int call_foo(struct foobar *fb) 50da0c48c4Sopenharmony_ci# { 51da0c48c4Sopenharmony_ci# return fb->bar->foo - 42; 52da0c48c4Sopenharmony_ci# } 53da0c48c4Sopenharmony_ci 54da0c48c4Sopenharmony_ci# gcc -fPIC -g -c -Wall shared.c 55da0c48c4Sopenharmony_ci# gcc -shared -o libtestfile_multi_shared.so shared.o 56da0c48c4Sopenharmony_ci# gcc -g -o testfile_multi_main -L. -ltestfile_multi_shared main.c -Wl,-rpath,. 57da0c48c4Sopenharmony_ci# dwz -m testfile_multi.dwz testfile_multi_main libtestfile_multi_shared.so 58da0c48c4Sopenharmony_ci 59da0c48c4Sopenharmony_ci# main.c 60da0c48c4Sopenharmony_ci# 61da0c48c4Sopenharmony_ci# struct foobarbaz 62da0c48c4Sopenharmony_ci# { 63da0c48c4Sopenharmony_ci# int counter; 64da0c48c4Sopenharmony_ci# char *bookstore; 65da0c48c4Sopenharmony_ci# }; 66da0c48c4Sopenharmony_ci# 67da0c48c4Sopenharmony_ci# int 68da0c48c4Sopenharmony_ci# main (int argc, char **argv) 69da0c48c4Sopenharmony_ci# { 70da0c48c4Sopenharmony_ci# struct foobarbaz fbb; 71da0c48c4Sopenharmony_ci# return 0; 72da0c48c4Sopenharmony_ci# } 73da0c48c4Sopenharmony_ci 74da0c48c4Sopenharmony_ci# gcc -g -o testfile-dwzstr main.c 75da0c48c4Sopenharmony_ci# cp testfile-dwzstr testfile-dwzstr.alt 76da0c48c4Sopenharmony_ci# dwz -m testfile-dwzstr.multi testfile-dwzstr testfile-dwzstr.alt 77da0c48c4Sopenharmony_ci 78da0c48c4Sopenharmony_citestfiles libtestfile_multi_shared.so testfile_multi_main testfile_multi.dwz 79da0c48c4Sopenharmony_citestfiles testfile-dwzstr testfile-dwzstr.multi 80da0c48c4Sopenharmony_ci 81da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=info testfile_multi_main <<\EOF 82da0c48c4Sopenharmony_ci 83da0c48c4Sopenharmony_ciDWARF section [28] '.debug_info' at offset 0x1078: 84da0c48c4Sopenharmony_ci [Offset] 85da0c48c4Sopenharmony_ci Compilation unit at offset 0: 86da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4 87da0c48c4Sopenharmony_ci [ b] compile_unit abbrev: 6 88da0c48c4Sopenharmony_ci producer (strp) "GNU C 4.7.0 20120507 (Red Hat 4.7.0-5) -mtune=generic -march=x86-64 -g" 89da0c48c4Sopenharmony_ci language (data1) C89 (1) 90da0c48c4Sopenharmony_ci name (strp) "main.c" 91da0c48c4Sopenharmony_ci comp_dir (GNU_strp_alt) "/home/mark/src/tests/dwz" 92da0c48c4Sopenharmony_ci low_pc (addr) 0x00000000004006ac <main> 93da0c48c4Sopenharmony_ci high_pc (udata) 44 (0x00000000004006d8) 94da0c48c4Sopenharmony_ci stmt_list (sec_offset) 0 95da0c48c4Sopenharmony_ci [ 26] imported_unit abbrev: 5 96da0c48c4Sopenharmony_ci import (GNU_ref_alt) [ b] 97da0c48c4Sopenharmony_ci [ 2b] pointer_type abbrev: 1 98da0c48c4Sopenharmony_ci byte_size (data1) 8 99da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 53] 100da0c48c4Sopenharmony_ci [ 31] subprogram abbrev: 3 101da0c48c4Sopenharmony_ci external (flag_present) yes 102da0c48c4Sopenharmony_ci name (strp) "main" 103da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 104da0c48c4Sopenharmony_ci decl_line (data1) 3 105da0c48c4Sopenharmony_ci prototyped (flag_present) yes 106da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 3e] 107da0c48c4Sopenharmony_ci low_pc (addr) 0x00000000004006ac <main> 108da0c48c4Sopenharmony_ci high_pc (udata) 44 (0x00000000004006d8) 109da0c48c4Sopenharmony_ci frame_base (exprloc) 110da0c48c4Sopenharmony_ci [ 0] call_frame_cfa 111da0c48c4Sopenharmony_ci GNU_all_tail_call_sites (flag_present) yes 112da0c48c4Sopenharmony_ci sibling (ref_udata) [ 6e] 113da0c48c4Sopenharmony_ci [ 48] formal_parameter abbrev: 8 114da0c48c4Sopenharmony_ci name (strp) "argc" 115da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 116da0c48c4Sopenharmony_ci decl_line (data1) 3 117da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 3e] 118da0c48c4Sopenharmony_ci location (exprloc) 119da0c48c4Sopenharmony_ci [ 0] fbreg -36 120da0c48c4Sopenharmony_ci [ 56] formal_parameter abbrev: 4 121da0c48c4Sopenharmony_ci name (strp) "argv" 122da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 123da0c48c4Sopenharmony_ci decl_line (data1) 3 124da0c48c4Sopenharmony_ci type (ref_udata) [ 6e] 125da0c48c4Sopenharmony_ci location (exprloc) 126da0c48c4Sopenharmony_ci [ 0] fbreg -48 127da0c48c4Sopenharmony_ci [ 61] variable abbrev: 7 128da0c48c4Sopenharmony_ci name (string) "b" 129da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 130da0c48c4Sopenharmony_ci decl_line (data1) 5 131da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 5a] 132da0c48c4Sopenharmony_ci location (exprloc) 133da0c48c4Sopenharmony_ci [ 0] fbreg -32 134da0c48c4Sopenharmony_ci [ 6e] pointer_type abbrev: 2 135da0c48c4Sopenharmony_ci byte_size (data1) 8 136da0c48c4Sopenharmony_ci type (ref_udata) [ 2b] 137da0c48c4Sopenharmony_ciEOF 138da0c48c4Sopenharmony_ci 139da0c48c4Sopenharmony_ci# Same as above, but find alt debug file in a .dwz subdir. 140da0c48c4Sopenharmony_cimkdir .dwz 141da0c48c4Sopenharmony_cimv testfile_multi.dwz .dwz 142da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=info testfile_multi_main <<\EOF 143da0c48c4Sopenharmony_ci 144da0c48c4Sopenharmony_ciDWARF section [28] '.debug_info' at offset 0x1078: 145da0c48c4Sopenharmony_ci [Offset] 146da0c48c4Sopenharmony_ci Compilation unit at offset 0: 147da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4 148da0c48c4Sopenharmony_ci [ b] compile_unit abbrev: 6 149da0c48c4Sopenharmony_ci producer (strp) "GNU C 4.7.0 20120507 (Red Hat 4.7.0-5) -mtune=generic -march=x86-64 -g" 150da0c48c4Sopenharmony_ci language (data1) C89 (1) 151da0c48c4Sopenharmony_ci name (strp) "main.c" 152da0c48c4Sopenharmony_ci comp_dir (GNU_strp_alt) "/home/mark/src/tests/dwz" 153da0c48c4Sopenharmony_ci low_pc (addr) 0x00000000004006ac <main> 154da0c48c4Sopenharmony_ci high_pc (udata) 44 (0x00000000004006d8) 155da0c48c4Sopenharmony_ci stmt_list (sec_offset) 0 156da0c48c4Sopenharmony_ci [ 26] imported_unit abbrev: 5 157da0c48c4Sopenharmony_ci import (GNU_ref_alt) [ b] 158da0c48c4Sopenharmony_ci [ 2b] pointer_type abbrev: 1 159da0c48c4Sopenharmony_ci byte_size (data1) 8 160da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 53] 161da0c48c4Sopenharmony_ci [ 31] subprogram abbrev: 3 162da0c48c4Sopenharmony_ci external (flag_present) yes 163da0c48c4Sopenharmony_ci name (strp) "main" 164da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 165da0c48c4Sopenharmony_ci decl_line (data1) 3 166da0c48c4Sopenharmony_ci prototyped (flag_present) yes 167da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 3e] 168da0c48c4Sopenharmony_ci low_pc (addr) 0x00000000004006ac <main> 169da0c48c4Sopenharmony_ci high_pc (udata) 44 (0x00000000004006d8) 170da0c48c4Sopenharmony_ci frame_base (exprloc) 171da0c48c4Sopenharmony_ci [ 0] call_frame_cfa 172da0c48c4Sopenharmony_ci GNU_all_tail_call_sites (flag_present) yes 173da0c48c4Sopenharmony_ci sibling (ref_udata) [ 6e] 174da0c48c4Sopenharmony_ci [ 48] formal_parameter abbrev: 8 175da0c48c4Sopenharmony_ci name (strp) "argc" 176da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 177da0c48c4Sopenharmony_ci decl_line (data1) 3 178da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 3e] 179da0c48c4Sopenharmony_ci location (exprloc) 180da0c48c4Sopenharmony_ci [ 0] fbreg -36 181da0c48c4Sopenharmony_ci [ 56] formal_parameter abbrev: 4 182da0c48c4Sopenharmony_ci name (strp) "argv" 183da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 184da0c48c4Sopenharmony_ci decl_line (data1) 3 185da0c48c4Sopenharmony_ci type (ref_udata) [ 6e] 186da0c48c4Sopenharmony_ci location (exprloc) 187da0c48c4Sopenharmony_ci [ 0] fbreg -48 188da0c48c4Sopenharmony_ci [ 61] variable abbrev: 7 189da0c48c4Sopenharmony_ci name (string) "b" 190da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 191da0c48c4Sopenharmony_ci decl_line (data1) 5 192da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 5a] 193da0c48c4Sopenharmony_ci location (exprloc) 194da0c48c4Sopenharmony_ci [ 0] fbreg -32 195da0c48c4Sopenharmony_ci [ 6e] pointer_type abbrev: 2 196da0c48c4Sopenharmony_ci byte_size (data1) 8 197da0c48c4Sopenharmony_ci type (ref_udata) [ 2b] 198da0c48c4Sopenharmony_ciEOF 199da0c48c4Sopenharmony_cimv .dwz/testfile_multi.dwz . 200da0c48c4Sopenharmony_cirmdir .dwz 201da0c48c4Sopenharmony_ci 202da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=info libtestfile_multi_shared.so <<\EOF 203da0c48c4Sopenharmony_ci 204da0c48c4Sopenharmony_ciDWARF section [25] '.debug_info' at offset 0x106c: 205da0c48c4Sopenharmony_ci [Offset] 206da0c48c4Sopenharmony_ci Compilation unit at offset 0: 207da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4 208da0c48c4Sopenharmony_ci [ b] compile_unit abbrev: 3 209da0c48c4Sopenharmony_ci producer (strp) "GNU C 4.7.0 20120507 (Red Hat 4.7.0-5) -fpreprocessed -mtune=generic -march=x86-64 -g -fPIC" 210da0c48c4Sopenharmony_ci language (data1) C89 (1) 211da0c48c4Sopenharmony_ci name (strp) "shared.c" 212da0c48c4Sopenharmony_ci comp_dir (GNU_strp_alt) "/home/mark/src/tests/dwz" 213da0c48c4Sopenharmony_ci low_pc (addr) +0x0000000000000670 <call_foo> 214da0c48c4Sopenharmony_ci high_pc (udata) 23 (+0x0000000000000687) 215da0c48c4Sopenharmony_ci stmt_list (sec_offset) 0 216da0c48c4Sopenharmony_ci [ 26] imported_unit abbrev: 2 217da0c48c4Sopenharmony_ci import (GNU_ref_alt) [ b] 218da0c48c4Sopenharmony_ci [ 2b] subprogram abbrev: 1 219da0c48c4Sopenharmony_ci external (flag_present) yes 220da0c48c4Sopenharmony_ci name (strp) "call_foo" 221da0c48c4Sopenharmony_ci decl_file (data1) shared.c (1) 222da0c48c4Sopenharmony_ci decl_line (data1) 3 223da0c48c4Sopenharmony_ci prototyped (flag_present) yes 224da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 3e] 225da0c48c4Sopenharmony_ci low_pc (addr) +0x0000000000000670 <call_foo> 226da0c48c4Sopenharmony_ci high_pc (udata) 23 (+0x0000000000000687) 227da0c48c4Sopenharmony_ci frame_base (exprloc) 228da0c48c4Sopenharmony_ci [ 0] call_frame_cfa 229da0c48c4Sopenharmony_ci GNU_all_call_sites (flag_present) yes 230da0c48c4Sopenharmony_ci [ 41] formal_parameter abbrev: 4 231da0c48c4Sopenharmony_ci name (string) "fb" 232da0c48c4Sopenharmony_ci decl_file (data1) shared.c (1) 233da0c48c4Sopenharmony_ci decl_line (data1) 3 234da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 76] 235da0c48c4Sopenharmony_ci location (exprloc) 236da0c48c4Sopenharmony_ci [ 0] fbreg -24 237da0c48c4Sopenharmony_ciEOF 238da0c48c4Sopenharmony_ci 239da0c48c4Sopenharmony_ci# Same as above, but find alt debug file in a .dwz subdir. 240da0c48c4Sopenharmony_cimkdir .dwz 241da0c48c4Sopenharmony_cimv testfile_multi.dwz .dwz 242da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=info libtestfile_multi_shared.so <<\EOF 243da0c48c4Sopenharmony_ci 244da0c48c4Sopenharmony_ciDWARF section [25] '.debug_info' at offset 0x106c: 245da0c48c4Sopenharmony_ci [Offset] 246da0c48c4Sopenharmony_ci Compilation unit at offset 0: 247da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4 248da0c48c4Sopenharmony_ci [ b] compile_unit abbrev: 3 249da0c48c4Sopenharmony_ci producer (strp) "GNU C 4.7.0 20120507 (Red Hat 4.7.0-5) -fpreprocessed -mtune=generic -march=x86-64 -g -fPIC" 250da0c48c4Sopenharmony_ci language (data1) C89 (1) 251da0c48c4Sopenharmony_ci name (strp) "shared.c" 252da0c48c4Sopenharmony_ci comp_dir (GNU_strp_alt) "/home/mark/src/tests/dwz" 253da0c48c4Sopenharmony_ci low_pc (addr) +0x0000000000000670 <call_foo> 254da0c48c4Sopenharmony_ci high_pc (udata) 23 (+0x0000000000000687) 255da0c48c4Sopenharmony_ci stmt_list (sec_offset) 0 256da0c48c4Sopenharmony_ci [ 26] imported_unit abbrev: 2 257da0c48c4Sopenharmony_ci import (GNU_ref_alt) [ b] 258da0c48c4Sopenharmony_ci [ 2b] subprogram abbrev: 1 259da0c48c4Sopenharmony_ci external (flag_present) yes 260da0c48c4Sopenharmony_ci name (strp) "call_foo" 261da0c48c4Sopenharmony_ci decl_file (data1) shared.c (1) 262da0c48c4Sopenharmony_ci decl_line (data1) 3 263da0c48c4Sopenharmony_ci prototyped (flag_present) yes 264da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 3e] 265da0c48c4Sopenharmony_ci low_pc (addr) +0x0000000000000670 <call_foo> 266da0c48c4Sopenharmony_ci high_pc (udata) 23 (+0x0000000000000687) 267da0c48c4Sopenharmony_ci frame_base (exprloc) 268da0c48c4Sopenharmony_ci [ 0] call_frame_cfa 269da0c48c4Sopenharmony_ci GNU_all_call_sites (flag_present) yes 270da0c48c4Sopenharmony_ci [ 41] formal_parameter abbrev: 4 271da0c48c4Sopenharmony_ci name (string) "fb" 272da0c48c4Sopenharmony_ci decl_file (data1) shared.c (1) 273da0c48c4Sopenharmony_ci decl_line (data1) 3 274da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 76] 275da0c48c4Sopenharmony_ci location (exprloc) 276da0c48c4Sopenharmony_ci [ 0] fbreg -24 277da0c48c4Sopenharmony_ciEOF 278da0c48c4Sopenharmony_cimv .dwz/testfile_multi.dwz . 279da0c48c4Sopenharmony_cirmdir .dwz 280da0c48c4Sopenharmony_ci 281da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --debug-dump=info testfile-dwzstr <<\EOF 282da0c48c4Sopenharmony_ci 283da0c48c4Sopenharmony_ciDWARF section [28] '.debug_info' at offset 0x1088: 284da0c48c4Sopenharmony_ci [Offset] 285da0c48c4Sopenharmony_ci Compilation unit at offset 0: 286da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4 287da0c48c4Sopenharmony_ci [ b] compile_unit abbrev: 5 288da0c48c4Sopenharmony_ci producer (GNU_strp_alt) "GNU C 4.7.2 20121109 (Red Hat 4.7.2-8) -mtune=generic -march=x86-64 -g" 289da0c48c4Sopenharmony_ci language (data1) C89 (1) 290da0c48c4Sopenharmony_ci name (GNU_strp_alt) "main.c" 291da0c48c4Sopenharmony_ci comp_dir (GNU_strp_alt) "/home/mark/src/tests" 292da0c48c4Sopenharmony_ci low_pc (addr) 0x00000000004004ec <main> 293da0c48c4Sopenharmony_ci high_pc (udata) 18 (0x00000000004004fe) 294da0c48c4Sopenharmony_ci stmt_list (sec_offset) 0 295da0c48c4Sopenharmony_ci [ 26] imported_unit abbrev: 2 296da0c48c4Sopenharmony_ci import (GNU_ref_alt) [ b] 297da0c48c4Sopenharmony_ci [ 2b] subprogram abbrev: 4 298da0c48c4Sopenharmony_ci external (flag_present) yes 299da0c48c4Sopenharmony_ci name (GNU_strp_alt) "main" 300da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 301da0c48c4Sopenharmony_ci decl_line (data1) 8 302da0c48c4Sopenharmony_ci prototyped (flag_present) yes 303da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 30] 304da0c48c4Sopenharmony_ci low_pc (addr) 0x00000000004004ec <main> 305da0c48c4Sopenharmony_ci high_pc (udata) 18 (0x00000000004004fe) 306da0c48c4Sopenharmony_ci frame_base (exprloc) 307da0c48c4Sopenharmony_ci [ 0] call_frame_cfa 308da0c48c4Sopenharmony_ci GNU_all_call_sites (flag_present) yes 309da0c48c4Sopenharmony_ci [ 41] formal_parameter abbrev: 1 310da0c48c4Sopenharmony_ci name (GNU_strp_alt) "argc" 311da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 312da0c48c4Sopenharmony_ci decl_line (data1) 8 313da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 30] 314da0c48c4Sopenharmony_ci location (exprloc) 315da0c48c4Sopenharmony_ci [ 0] fbreg -36 316da0c48c4Sopenharmony_ci [ 4f] formal_parameter abbrev: 1 317da0c48c4Sopenharmony_ci name (GNU_strp_alt) "argv" 318da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 319da0c48c4Sopenharmony_ci decl_line (data1) 8 320da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 41] 321da0c48c4Sopenharmony_ci location (exprloc) 322da0c48c4Sopenharmony_ci [ 0] fbreg -48 323da0c48c4Sopenharmony_ci [ 5d] variable abbrev: 3 324da0c48c4Sopenharmony_ci name (string) "fbb" 325da0c48c4Sopenharmony_ci decl_file (data1) main.c (1) 326da0c48c4Sopenharmony_ci decl_line (data1) 10 327da0c48c4Sopenharmony_ci type (GNU_ref_alt) [ 14] 328da0c48c4Sopenharmony_ci location (exprloc) 329da0c48c4Sopenharmony_ci [ 0] fbreg -32 330da0c48c4Sopenharmony_ciEOF 331da0c48c4Sopenharmony_ci 332da0c48c4Sopenharmony_ciexit 0 333