[PATCH] dwarf.h: Remove non-existing DW_TAG_mutable_type.

Mark Wielaard mjw at redhat.com
Wed Jun 18 09:48:41 UTC 2014


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 <mjw at redhat.com>
---
 backends/alpha_retval.c  |    2 +-
 backends/arm_retval.c    |    2 +-
 backends/i386_retval.c   |    2 +-
 backends/ia64_retval.c   |    2 +-
 backends/libebl_CPU.h    |    2 +-
 backends/ppc64_retval.c  |    2 +-
 backends/ppc_retval.c    |    2 +-
 backends/s390_retval.c   |    2 +-
 backends/sh_retval.c     |    2 +-
 backends/sparc_retval.c  |    2 +-
 backends/tilegx_retval.c |    2 +-
 backends/x86_64_retval.c |    2 +-
 libdw/dwarf.h            |    1 -
 13 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/backends/alpha_retval.c b/backends/alpha_retval.c
index 6dfa694..fddb47f 100644
--- a/backends/alpha_retval.c
+++ b/backends/alpha_retval.c
@@ -82,7 +82,7 @@ alpha_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/arm_retval.c b/backends/arm_retval.c
index 222f755..92e3631 100644
--- a/backends/arm_retval.c
+++ b/backends/arm_retval.c
@@ -78,7 +78,7 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/i386_retval.c b/backends/i386_retval.c
index 90678c3..dc0c5e6 100644
--- a/backends/i386_retval.c
+++ b/backends/i386_retval.c
@@ -82,7 +82,7 @@ i386_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/ia64_retval.c b/backends/ia64_retval.c
index ac0d8c3..d259a80 100644
--- a/backends/ia64_retval.c
+++ b/backends/ia64_retval.c
@@ -253,7 +253,7 @@ ia64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/libebl_CPU.h b/backends/libebl_CPU.h
index 3ad9258..344a70e 100644
--- a/backends/libebl_CPU.h
+++ b/backends/libebl_CPU.h
@@ -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/backends/ppc64_retval.c b/backends/ppc64_retval.c
index c5c3b6f..042859f 100644
--- a/backends/ppc64_retval.c
+++ b/backends/ppc64_retval.c
@@ -92,7 +92,7 @@ ppc64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/ppc_retval.c b/backends/ppc_retval.c
index 7ca0c18..c289440 100644
--- a/backends/ppc_retval.c
+++ b/backends/ppc_retval.c
@@ -104,7 +104,7 @@ ppc_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/s390_retval.c b/backends/s390_retval.c
index b671ee8..f830f0e 100644
--- a/backends/s390_retval.c
+++ b/backends/s390_retval.c
@@ -83,7 +83,7 @@ s390_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/sh_retval.c b/backends/sh_retval.c
index 1166231..c45c91a 100644
--- a/backends/sh_retval.c
+++ b/backends/sh_retval.c
@@ -80,7 +80,7 @@ sh_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/sparc_retval.c b/backends/sparc_retval.c
index dcd3785..91b97fd 100644
--- a/backends/sparc_retval.c
+++ b/backends/sparc_retval.c
@@ -87,7 +87,7 @@ sparc_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/tilegx_retval.c b/backends/tilegx_retval.c
index e14cc51..25fbc9a 100644
--- a/backends/tilegx_retval.c
+++ b/backends/tilegx_retval.c
@@ -74,7 +74,7 @@ tilegx_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/backends/x86_64_retval.c b/backends/x86_64_retval.c
index f3e9f2b..5734afc 100644
--- a/backends/x86_64_retval.c
+++ b/backends/x86_64_retval.c
@@ -96,7 +96,7 @@ x86_64_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
   /* Follow typedefs and qualifiers to get to the actual type.  */
   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)
     {
       attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
       typedie = dwarf_formref_die (attr, &die_mem);
diff --git a/libdw/dwarf.h b/libdw/dwarf.h
index 41cae5b..a8d2ec9 100644
--- a/libdw/dwarf.h
+++ b/libdw/dwarf.h
@@ -87,7 +87,6 @@ enum
     DW_TAG_unspecified_type = 0x3b,
     DW_TAG_partial_unit = 0x3c,
     DW_TAG_imported_unit = 0x3d,
-    DW_TAG_mutable_type = 0x3e,
     DW_TAG_condition = 0x3f,
     DW_TAG_shared_type = 0x40,
     DW_TAG_type_unit = 0x41,
-- 
1.7.1



More information about the elfutils-devel mailing list