>From af1e6ed9b4c0160a6a5c6f59d9443ae4f6f20a14 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 18 Jun 2014 10:57:58 +0200 Subject: [PATCH] dwarf.h: Remove non-existing DW_TAG_mutable_type. The DW_TAG_mutable_type was only mentioned in an early draft of DWARFv3. But was removed because there are no C++ mutable qualified types. It was replaced by a new attribute DW_AT_mutable on DW_TAG_member DIEs. The new attribute is available in dwarf.h. http://dwarfstd.org/ShowIssue.php?issue=050223.1 DW_TAG_mutable_type was only used internally in some backends (which just ignored it anyway). dwarves did use it to turn it into a string value, libabigail used it and ignored it (patches to remove sent). GCC, GDB and binutils don't use nor define it. Signed-off-by: Mark Wielaard --- backends/ChangeLog | 5 +++++ backends/libebl_CPU.h | 4 ++-- libdw/ChangeLog | 4 ++++ libdw/dwarf.h | 4 ++-- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/backends/ChangeLog b/backends/ChangeLog index c846a95..a2df83b 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -1,3 +1,8 @@ +2014-06-18 Mark Wielaard + + * libebl_CPU.h (dwarf_peel_type): Remove DW_TAG_mutable_type + handling. + 2014-06-17 Mark Wielaard * arm_init.c (arm_init): Set func_addr_mask. diff --git a/backends/libebl_CPU.h b/backends/libebl_CPU.h index 3ad9258..fa0d4f2 100644 --- a/backends/libebl_CPU.h +++ b/backends/libebl_CPU.h @@ -1,5 +1,5 @@ /* Common interface for libebl modules. - Copyright (C) 2000, 2001, 2002, 2003, 2005, 2013 Red Hat, Inc. + Copyright (C) 2000, 2001, 2002, 2003, 2005, 2013, 2014 Red Hat, Inc. This file is part of elfutils. This file is free software; you can redistribute it and/or modify @@ -60,7 +60,7 @@ dwarf_peel_type (Dwarf_Die *typediep, Dwarf_Attribute *attrp) int tag = DWARF_TAG_OR_RETURN (typediep); while (tag == DW_TAG_typedef || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type - || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type) + || tag == DW_TAG_restrict_type) { attrp = dwarf_attr_integrate (typediep, DW_AT_type, attrp); typediep = dwarf_formref_die (attrp, typediep); diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 780b34d..2884419 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,7 @@ +2014-06-18 Mark Wielaard + + * dwarf.h: Remove DW_TAG_mutable_type. + 2014-05-02 Mark Wielaard * libdwP.h (__check_build_id): Removed now unused. diff --git a/libdw/dwarf.h b/libdw/dwarf.h index 41cae5b..d98a4bd 100644 --- a/libdw/dwarf.h +++ b/libdw/dwarf.h @@ -1,5 +1,5 @@ /* This file defines standard DWARF types, structures, and macros. - Copyright (C) 2000-2011 Red Hat, Inc. + Copyright (C) 2000-2011, 2014 Red Hat, Inc. This file is part of elfutils. This file is free software; you can redistribute it and/or modify @@ -87,7 +87,7 @@ enum DW_TAG_unspecified_type = 0x3b, DW_TAG_partial_unit = 0x3c, DW_TAG_imported_unit = 0x3d, - DW_TAG_mutable_type = 0x3e, + /* 0x3e reserved. */ DW_TAG_condition = 0x3f, DW_TAG_shared_type = 0x40, DW_TAG_type_unit = 0x41, -- 1.7.1