case DW_AT_discr_list:
valuestr = dwarf_discr_list_name (num);
break;
+ case DW_AT_decl_file:
+ case DW_AT_call_file:
+ {
+ /* Try to get the actual file, the current interface only
+ gives us full paths, but we only want to show the file
+ name for now. */
+ Dwarf_Die cudie;
+ if (dwarf_cu_die (cbargs->cu, &cudie,
+ NULL, NULL, NULL, NULL, NULL, NULL) != NULL)
+ {
+ Dwarf_Files *files;
+ size_t nfiles;
+ if (dwarf_getsrcfiles (&cudie, &files, &nfiles) == 0)
+ {
+ valuestr = dwarf_filesrc (files, num, NULL, NULL);
+ char *filename = strrchr (valuestr, '/');
+ if (filename != NULL)
+ valuestr = filename + 1;
+ }
+ }
+ }
+ break;
default:
/* Nothing. */
break;
[ 31] subprogram abbrev: 3
external (flag_present) yes
name (strp) "main"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 3
prototyped (flag_present) yes
type (GNU_ref_alt) [ 3e]
sibling (ref_udata) [ 6e]
[ 48] formal_parameter abbrev: 8
name (strp) "argc"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 3
type (GNU_ref_alt) [ 3e]
location (exprloc)
[ 0] fbreg -36
[ 56] formal_parameter abbrev: 4
name (strp) "argv"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 3
type (ref_udata) [ 6e]
location (exprloc)
[ 0] fbreg -48
[ 61] variable abbrev: 7
name (string) "b"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 5
type (GNU_ref_alt) [ 5a]
location (exprloc)
[ 31] subprogram abbrev: 3
external (flag_present) yes
name (strp) "main"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 3
prototyped (flag_present) yes
type (GNU_ref_alt) [ 3e]
sibling (ref_udata) [ 6e]
[ 48] formal_parameter abbrev: 8
name (strp) "argc"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 3
type (GNU_ref_alt) [ 3e]
location (exprloc)
[ 0] fbreg -36
[ 56] formal_parameter abbrev: 4
name (strp) "argv"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 3
type (ref_udata) [ 6e]
location (exprloc)
[ 0] fbreg -48
[ 61] variable abbrev: 7
name (string) "b"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 5
type (GNU_ref_alt) [ 5a]
location (exprloc)
[ 2b] subprogram abbrev: 1
external (flag_present) yes
name (strp) "call_foo"
- decl_file (data1) 1
+ decl_file (data1) shared.c (1)
decl_line (data1) 3
prototyped (flag_present) yes
type (GNU_ref_alt) [ 3e]
GNU_all_call_sites (flag_present) yes
[ 41] formal_parameter abbrev: 4
name (string) "fb"
- decl_file (data1) 1
+ decl_file (data1) shared.c (1)
decl_line (data1) 3
type (GNU_ref_alt) [ 76]
location (exprloc)
[ 2b] subprogram abbrev: 1
external (flag_present) yes
name (strp) "call_foo"
- decl_file (data1) 1
+ decl_file (data1) shared.c (1)
decl_line (data1) 3
prototyped (flag_present) yes
type (GNU_ref_alt) [ 3e]
GNU_all_call_sites (flag_present) yes
[ 41] formal_parameter abbrev: 4
name (string) "fb"
- decl_file (data1) 1
+ decl_file (data1) shared.c (1)
decl_line (data1) 3
type (GNU_ref_alt) [ 76]
location (exprloc)
[ 2b] subprogram abbrev: 4
external (flag_present) yes
name (GNU_strp_alt) "main"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 8
prototyped (flag_present) yes
type (GNU_ref_alt) [ 30]
GNU_all_call_sites (flag_present) yes
[ 41] formal_parameter abbrev: 1
name (GNU_strp_alt) "argc"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 8
type (GNU_ref_alt) [ 30]
location (exprloc)
[ 0] fbreg -36
[ 4f] formal_parameter abbrev: 1
name (GNU_strp_alt) "argv"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 8
type (GNU_ref_alt) [ 41]
location (exprloc)
[ 0] fbreg -48
[ 5d] variable abbrev: 3
name (string) "fbb"
- decl_file (data1) 1
+ decl_file (data1) main.c (1)
decl_line (data1) 10
type (GNU_ref_alt) [ 14]
location (exprloc)
[ 2d] subprogram abbrev: 2
external (flag_present) yes
name (strp) "main"
- decl_file (data1) 1
+ decl_file (data1) testfile-zdebug-rel.c (1)
decl_line (data1) 4
prototyped (flag_present) yes
type (ref4) [ 80]
sibling (ref4) [ 80]
[ 4e] formal_parameter abbrev: 3
name (strp) "argc"
- decl_file (data1) 1
+ decl_file (data1) testfile-zdebug-rel.c (1)
decl_line (data1) 4
type (ref4) [ 80]
location (sec_offset) location list [ 0]
[ 5d] formal_parameter abbrev: 4
name (strp) "argv"
- decl_file (data1) 1
+ decl_file (data1) testfile-zdebug-rel.c (1)
decl_line (data1) 4
type (ref4) [ 87]
location (exprloc)
[ 0] reg4
[ 6a] variable abbrev: 5
name (string) "a"
- decl_file (data1) 1
+ decl_file (data1) testfile-zdebug-rel.c (1)
decl_line (data1) 6
type (ref4) [ 9a]
const_value (sdata) -9
[ 74] variable abbrev: 6
name (string) "b"
- decl_file (data1) 1
+ decl_file (data1) testfile-zdebug-rel.c (1)
decl_line (data1) 7
type (ref4) [ 9a]
location (exprloc)