aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJiong Wang <jiong.wang@arm.com>2017-09-12 16:39:59 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2017-09-12 16:39:59 +0000
commitff971abe6034dc25019c3f470d8437b22b93dce0 (patch)
treedf4da622e4ea5d421f6e7ede7d78e8f904057785 /include
parent12263f13ac02720a2e67f4837533b93752fb154b (diff)
downloadgcc-ff971abe6034dc25019c3f470d8437b22b93dce0.zip
gcc-ff971abe6034dc25019c3f470d8437b22b93dce0.tar.gz
gcc-ff971abe6034dc25019c3f470d8437b22b93dce0.tar.bz2
Add DW_CFA_AARCH64_negate_ra_state to dwarf2.def/h and dwarfnames.c
A new vendor CFA DW_CFA_AARCH64_negate_ra_state was introduced for ARMv8.3-A return address signing, it is multiplexing DW_CFA_GNU_window_save in CFA vendor extension space. This patch adds necessary code to make it available to external, the GDB patch (https://sourceware.org/ml/gdb-patches/2017-08/msg00215.html) is intended to use it. A new DW_CFA_DUP for it is added in dwarf2.def. The use of DW_CFA_DUP is to avoid duplicated case value issue when included in libiberty/dwarfnames. Native x86 builds OK to make sure no macro expanding errors. Committed on behalf of Jiong Wang. include/ * dwarf2.def (DW_CFA_AARCH64_negate_ra_state): New DW_CFA_DUP. * dwarf2.h (DW_CFA_DUP): New define. libiberty/ * dwarfnames.c (DW_CFA_DUP): New define. From-SVN: r252037
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog5
-rw-r--r--include/dwarf2.def1
-rw-r--r--include/dwarf2.h2
3 files changed, 8 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 2171290..c7ce259 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2017-09-12 Jiong Wang <jiong.wang@arm.com>
+
+ * dwarf2.def (DW_CFA_AARCH64_negate_ra_state): New DW_CFA_DUP.
+ * dwarf2.h (DW_CFA_DUP): New define.
+
2017-08-21 Richard Biener <rguenther@suse.de>
* simple-object.h (simple_object_copy_lto_debug_sections): New
diff --git a/include/dwarf2.def b/include/dwarf2.def
index a91e943..2a3b23f 100644
--- a/include/dwarf2.def
+++ b/include/dwarf2.def
@@ -778,6 +778,7 @@ DW_CFA (DW_CFA_MIPS_advance_loc8, 0x1d)
/* GNU extensions.
NOTE: DW_CFA_GNU_window_save is multiplexed on Sparc and AArch64. */
DW_CFA (DW_CFA_GNU_window_save, 0x2d)
+DW_CFA_DUP (DW_CFA_AARCH64_negate_ra_state, 0x2d)
DW_CFA (DW_CFA_GNU_args_size, 0x2e)
DW_CFA (DW_CFA_GNU_negative_offset_extended, 0x2f)
diff --git a/include/dwarf2.h b/include/dwarf2.h
index 14b6f22..a2e022d 100644
--- a/include/dwarf2.h
+++ b/include/dwarf2.h
@@ -52,6 +52,7 @@
#define DW_ATE(name, value) , name = value
#define DW_ATE_DUP(name, value) , name = value
#define DW_CFA(name, value) , name = value
+#define DW_CFA_DUP(name, value) , name = value
#define DW_IDX(name, value) , name = value
#define DW_IDX_DUP(name, value) , name = value
@@ -104,6 +105,7 @@
#undef DW_ATE
#undef DW_ATE_DUP
#undef DW_CFA
+#undef DW_CFA_DUP
#undef DW_IDX
#undef DW_IDX_DUP