This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Re: [PATCH] dwarf.h: Remove non-existing DW_TAG_mutable_type.
- From: Mark Wielaard <mjw at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Sun, 22 Jun 2014 19:31:42 +0200
- Subject: 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