This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


After Petr's backends cleanup patch this patch collapses to two
oneliners. Pushed as attached.
>From af1e6ed9b4c0160a6a5c6f59d9443ae4f6f20a14 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mjw@redhat.com>
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 <mjw@redhat.com>
---
 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  <mjw@redhat.com>
+
+	* libebl_CPU.h (dwarf_peel_type): Remove DW_TAG_mutable_type
+	handling.
+
 2014-06-17  Mark Wielaard  <mjw@redhat.com>
 
 	* 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  <mjw@redhat.com>
+
+	* dwarf.h: Remove DW_TAG_mutable_type.
+
 2014-05-02  Mark Wielaard  <mjw@redhat.com>
 
 	* 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]