diff options
author | Tom Tromey <tromey@redhat.com> | 2010-04-20 21:19:07 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2010-04-20 21:19:07 +0000 |
commit | 31ef98ae61505d87f8d3098c5fc1dcb19035a6a1 (patch) | |
tree | 0fabe63df2de6ac7f6627c5a27382e352f83e0d3 /gdb/dwarf2read.c | |
parent | ce97fa81e0c46d216b80b143ad8c02fff6906fef (diff) | |
download | gdb-31ef98ae61505d87f8d3098c5fc1dcb19035a6a1.zip gdb-31ef98ae61505d87f8d3098c5fc1dcb19035a6a1.tar.gz gdb-31ef98ae61505d87f8d3098c5fc1dcb19035a6a1.tar.bz2 |
* dwarf2read.c (dwarf2_compute_name): Handle DW_AT_linkage_name.
(read_partial_die): Likewise.
(dwarf_attr_name): Likewise.
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r-- | gdb/dwarf2read.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index a948218..3096ab7 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -3377,7 +3377,9 @@ dwarf2_compute_name (char *name, struct die_info *die, struct dwarf2_cu *cu, but we haven't started looking at this enhancement yet. */ struct attribute *attr; - attr = dwarf2_attr (die, DW_AT_MIPS_linkage_name, cu); + attr = dwarf2_attr (die, DW_AT_linkage_name, cu); + if (attr == NULL) + attr = dwarf2_attr (die, DW_AT_MIPS_linkage_name, cu); if (attr && DW_STRING (attr)) name = DW_STRING (attr); } @@ -6849,7 +6851,11 @@ read_partial_die (struct partial_die_info *part_die, break; } break; + case DW_AT_linkage_name: case DW_AT_MIPS_linkage_name: + /* Note that both forms of linkage name might appear. We + assume they will be the same, and we only store the last + one we see. */ if (cu->language == language_ada) part_die->name = DW_STRING (&attr); break; @@ -9685,6 +9691,8 @@ dwarf_attr_name (unsigned attr) /* DWARF 4 values. */ case DW_AT_signature: return "DW_AT_signature"; + case DW_AT_linkage_name: + return "DW_AT_linkage_name"; /* SGI/MIPS extensions. */ #ifdef MIPS /* collides with DW_AT_HP_block_index */ case DW_AT_MIPS_fde: |