This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Fix build breakage on GNU/Linux AArch64
- From: Sergio Durigan Junior <sergiodj at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 10 Sep 2017 16:33:48 -0000
- Subject: [binutils-gdb] Fix build breakage on GNU/Linux AArch64
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cc397f3a236509257acfd5cd17c2f15f87a482d7
commit cc397f3a236509257acfd5cd17c2f15f87a482d7
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Sun Sep 10 12:16:54 2017 -0400
Fix build breakage on GNU/Linux AArch64
This patch fixes the build breakage that has been happening on AArch64
since September 5th. The breakage was introduced by the following
commit:
author Yao Qi <yao.qi@linaro.org>
Tue, 5 Sep 2017 04:54:52 -0400 (09:54 +0100)
committer Yao Qi <yao.qi@linaro.org>
Tue, 5 Sep 2017 04:54:52 -0400 (09:54 +0100)
commit f7000548a2b79d7e5cb924468117ca4245e6b820
Use VEC for target_desc.reg_defs
The build log for this commit can be seen here:
<https://gdb-build.sergiodj.net/builders/Ubuntu-AArch64-native-gdbserver-m64/builds/2696/steps/compile%20gdb/logs/stdio>
And the underlying problem is that the code is not calling the new
function "allocate_target_description" to allocate the "struct
target_desc" using "new" instead of XNEW, which end up not properly
initializing the fields of the structure.
Regtested on BuildBot.
gdb/gdbserver/ChangeLog:
2017-09-10 Sergio Durigan Junior <sergiodj@redhat.com>
* linux-low.c (handle_extended_wait): Use
"allocate_target_description" instead of "XNEW".
* linux-x86-low.c (initialize_low_arch): Likewise.
Diff:
---
gdb/gdbserver/ChangeLog | 6 ++++++
gdb/gdbserver/linux-low.c | 2 +-
gdb/gdbserver/linux-x86-low.c | 4 ++--
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index ac73db2..345abb3 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,9 @@
+2017-09-10 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * linux-low.c (handle_extended_wait): Use
+ "allocate_target_description" instead of "XNEW".
+ * linux-x86-low.c (initialize_low_arch): Likewise.
+
2017-09-05 Yao Qi <yao.qi@linaro.org>
* configure.srv (srv_i386_regobj): Remove.
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 6f4b26a..a7859cc 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -570,7 +570,7 @@ handle_extended_wait (struct lwp_info **orig_event_lwp, int wstat)
clone_all_breakpoints (child_thr, event_thr);
- tdesc = XNEW (struct target_desc);
+ tdesc = allocate_target_description ();
copy_target_description (tdesc, parent_proc->tdesc);
child_proc->tdesc = tdesc;
diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c
index f09871a..844a165 100644
--- a/gdb/gdbserver/linux-x86-low.c
+++ b/gdb/gdbserver/linux-x86-low.c
@@ -2900,7 +2900,7 @@ initialize_low_arch (void)
{
/* Initialize the Linux target descriptions. */
#ifdef __x86_64__
- tdesc_amd64_linux_no_xml = XNEW (struct target_desc);
+ tdesc_amd64_linux_no_xml = allocate_target_description ();
copy_target_description (tdesc_amd64_linux_no_xml,
amd64_linux_read_description (X86_XSTATE_SSE_MASK,
false));
@@ -2911,7 +2911,7 @@ initialize_low_arch (void)
initialize_low_tdesc ();
#endif
- tdesc_i386_linux_no_xml = XNEW (struct target_desc);
+ tdesc_i386_linux_no_xml = allocate_target_description ();
copy_target_description (tdesc_i386_linux_no_xml,
i386_linux_read_description (X86_XSTATE_SSE_MASK));
tdesc_i386_linux_no_xml->xmltarget = xmltarget_i386_linux_no_xml;