aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2006-02-21 22:27:02 +0000
committerGeoffrey Keating <geoffk@apple.com>2006-02-21 22:27:02 +0000
commit64af89e979c2456e78167f1bbddd1e01e2d7a23b (patch)
tree8e44f3b286a1c82ff27721127431649059f5eb4a
parent75750869828f74684d6cd0ec30cca116c20d93e6 (diff)
Radar 4444941apple/gcc-5324
* dwarf2out.c (gen_subprogram_die): Add DW_AT_MIPS_linkage_name when it might not have been added previously. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@111347 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.apple-ppc6
-rw-r--r--gcc/dwarf2out.c11
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog.apple-ppc b/gcc/ChangeLog.apple-ppc
index 444209e1b27..2ce5869206a 100644
--- a/gcc/ChangeLog.apple-ppc
+++ b/gcc/ChangeLog.apple-ppc
@@ -1,3 +1,9 @@
+2006-02-21 Geoffrey Keating <geoffk@apple.com>
+
+ Radar 4444941
+ * dwarf2out.c (gen_subprogram_die): Add DW_AT_MIPS_linkage_name
+ when it might not have been added previously.
+
2006-02-16 Mike Stump <mrs@apple.com>
Radar 4419735
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index c77de0ddde0..3d07181e1d6 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -5141,12 +5141,10 @@ add_AT_lineptr (dw_die_ref die, enum dwarf_attribute attr_kind,
attr->dw_attr_next = NULL;
attr->dw_attr = attr_kind;
attr->dw_attr_val.val_class = dw_val_class_lineptr;
-/* APPLE LOCAL end dwarf 4383509 */
attr->dw_attr_val.v.val_lbl_id = xstrdup (label);
add_dwarf_attr (die, attr);
}
-/* APPLE LOCAL begin dwarf 4383509 */
/* Add a section offset attribute value to a DIE, an offset into the
debug_macinfo section. */
@@ -7147,10 +7145,8 @@ output_die (dw_die_ref die)
case dw_val_class_lineptr:
dw2_asm_output_offset (DWARF_OFFSET_SIZE, AT_lbl (a),
DEBUG_LINE_SECTION, "%s", name);
-/* APPLE LOCAL end dwarf 4383509 */
break;
-/* APPLE LOCAL begin dwarf 4383509 */
case dw_val_class_macptr:
dw2_asm_output_offset (DWARF_OFFSET_SIZE, AT_lbl (a),
DEBUG_MACINFO_SECTION, "%s", name);
@@ -11548,6 +11544,13 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
}
else if (!DECL_EXTERNAL (decl))
{
+ /* APPLE LOCAL begin dwarf 4444941 */
+ if (TREE_PUBLIC (decl) && DECL_ASSEMBLER_NAME (decl) != DECL_NAME (decl)
+ && DECL_ABSTRACT_ORIGIN (decl))
+ add_AT_string (subr_die, DW_AT_MIPS_linkage_name,
+ IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
+ /* APPLE LOCAL end dwarf 4444941 */
+
if (!old_die || !get_AT (old_die, DW_AT_inline))
equate_decl_number_to_die (decl, subr_die);