This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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 06/11] Support displaced stepping in aarch64-linux


Sergio Durigan Junior <sergiodj@redhat.com> writes:

> This patch broke GDB when compiling with --enable-build-with-cxx:
>
>   <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-cxx-build-m64/builds/1046/steps/compile%20gdb/logs/stdio>
>
> You should also have received a message from the BuildBot, but I decided
> to send this one just to be safe.

Hi Sergio,
I don't see such message in my linaro box.  I only saw one message
before, and I've fixed this build failure.

"Your commit '[aarch64] use aarch64_decode_insn to decode instructions in GDB' broke GDB"

Anyway, patch below fixes the build failure.  I've pushed it in.

-- 
Yao (éå)
From 6448a3e4daecbdba25e5c76b0fbb0c21583a1347 Mon Sep 17 00:00:00 2001
From: Yao Qi <yao.qi@linaro.org>
Date: Wed, 14 Oct 2015 09:23:14 +0100
Subject: [PATCH] Define enum out of struct

This patch moves the definition of enum out of the scope of struct
aarch64_memory_operand, otherwise it breaks GDB build in c++ mode.

gdb:

2015-10-14  Yao Qi  <yao.qi@linaro.org>

	* arch/aarch64-insn.h (struct aarch64_memory_operand): Move enum
	out of it.
	(enum aarch64_memory_operand_type): New.

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index cabfe36..4b8ffb7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-14  Yao Qi  <yao.qi@linaro.org>
+
+	* arch/aarch64-insn.h (struct aarch64_memory_operand): Move enum
+	out of it.
+	(enum aarch64_memory_operand_type): New.
+
 2015-10-13  David Edelsohn  <dje.gcc@gmail.com>
 
 	* xcoffread.c (dwarf2_xcoff_names): Add .dwmac and .dwpbtyp.
diff --git a/gdb/arch/aarch64-insn.h b/gdb/arch/aarch64-insn.h
index d51cabc..cc7ec48 100644
--- a/gdb/arch/aarch64-insn.h
+++ b/gdb/arch/aarch64-insn.h
@@ -117,6 +117,13 @@ struct aarch64_register
   int is64;
 };
 
+enum aarch64_memory_operand_type
+{
+  MEMORY_OPERAND_OFFSET,
+  MEMORY_OPERAND_PREINDEX,
+  MEMORY_OPERAND_POSTINDEX,
+};
+
 /* Representation of a memory operand, used for load and store
    instructions.
 
@@ -129,12 +136,8 @@ struct aarch64_register
 struct aarch64_memory_operand
 {
   /* Type of the operand.  */
-  enum
-    {
-      MEMORY_OPERAND_OFFSET,
-      MEMORY_OPERAND_PREINDEX,
-      MEMORY_OPERAND_POSTINDEX,
-    } type;
+  enum aarch64_memory_operand_type type;
+
   /* Index from the base register.  */
   int32_t index;
 };


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