Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: gdb-buildbot@sergiodj.net
Cc: Pedro Alves <palves@redhat.com>, gdb-patches@sourceware.org
Subject: Re: Oh dear. I regret to inform you that commit de52b9607d2623f18b7a7dbee3e1123d8d63f5da might be unfortunate
Date: Fri, 29 Jun 2018 22:53:00 -0000	[thread overview]
Message-ID: <20180629225343.GH2511@adacore.com> (raw)
In-Reply-To: <20180629222108.GG2511@adacore.com>

[-- Attachment #1: Type: text/plain, Size: 946 bytes --]

> That must be me, so I will take a look now. I think it's because
> I didn't build with --enable-targets=all.

Attached is the patch I just pushed to master.

gdb/ChangeLog:

        * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
        parameter in call to amd64_target_description.
        * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
        * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
        (amd64fbsd_init_abi): Likewise.
        * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
        * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
        * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
        * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.

The change to amd64-fbsd-nat.c was done "blind" (no access to system),
but is reasonably straightforward. The changes to the -tdep.c files
were verify by rebuilding GDB on x86_64-linux when configured with
--enable-targets=all.

-- 
Joel

[-- Attachment #2: 0001-fix-GDB-build-failure-for-various-amd64-targets.patch --]
[-- Type: text/x-diff, Size: 6522 bytes --]

From 41206e32fb909ebacf6db009fc1f177bde74a652 Mon Sep 17 00:00:00 2001
From: Joel Brobecker <brobecker@adacore.com>
Date: Fri, 29 Jun 2018 18:42:27 -0400
Subject: [PATCH] fix GDB build failure for various amd64 targets

The following patch caused some amd64-*-tdep files to fail to compile:

  | commit de52b9607d2623f18b7a7dbee3e1123d8d63f5da
  | Date:   Tue Jun 26 16:33:27 2018 +0100
  | Subject: x86_64-windows GDB crash due to fs_base/gs_base registers

This is because we added one additional "segments" argument to
function amd64_target_description and forgot to update all the callers.
This patch fixes the omissions.

gdb/ChangeLog:

        * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
        parameter in call to amd64_target_description.
        * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
        * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
        (amd64fbsd_init_abi): Likewise.
        * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
        * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
        * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
        * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.

The change to amd64-fbsd-nat.c was done "blind" (no access to system),
but is reasonably straightforward. The changes to the -tdep.c files
were verify by rebuilding GDB on x86_64-linux when configured with
--enable-targets=all.
---
 gdb/ChangeLog           | 12 ++++++++++++
 gdb/amd64-darwin-tdep.c |  2 +-
 gdb/amd64-dicos-tdep.c  |  2 +-
 gdb/amd64-fbsd-nat.c    |  4 ++--
 gdb/amd64-fbsd-tdep.c   |  4 ++--
 gdb/amd64-nbsd-tdep.c   |  2 +-
 gdb/amd64-obsd-tdep.c   |  2 +-
 gdb/amd64-sol2-tdep.c   |  2 +-
 8 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c47c111466..e3267853d3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,15 @@
+2018-06-29  Joel Brobecker  <brobecker@adacore.com>
+
+	* amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
+	parameter in call to amd64_target_description.
+	* amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
+	* amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
+	(amd64fbsd_init_abi): Likewise.
+	* amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
+	* amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
+	* amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
+	* amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
+
 2018-06-29  Pedro Alves  <palves@redhat.com>
 
 	* gdb/amd64-tdep.h (amd64_create_target_description): Add
diff --git a/gdb/amd64-darwin-tdep.c b/gdb/amd64-darwin-tdep.c
index fe8bfab721..24d21b9f4a 100644
--- a/gdb/amd64-darwin-tdep.c
+++ b/gdb/amd64-darwin-tdep.c
@@ -100,7 +100,7 @@ x86_darwin_init_abi_64 (struct gdbarch_info info, struct gdbarch *gdbarch)
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   tdep->struct_return = reg_struct_return;
 
diff --git a/gdb/amd64-dicos-tdep.c b/gdb/amd64-dicos-tdep.c
index 85861ec86e..a9af7a0461 100644
--- a/gdb/amd64-dicos-tdep.c
+++ b/gdb/amd64-dicos-tdep.c
@@ -27,7 +27,7 @@ static void
 amd64_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   dicos_init_abi (gdbarch);
 }
diff --git a/gdb/amd64-fbsd-nat.c b/gdb/amd64-fbsd-nat.c
index 6b0367b5d6..f9b1bcae2e 100644
--- a/gdb/amd64-fbsd-nat.c
+++ b/gdb/amd64-fbsd-nat.c
@@ -188,13 +188,13 @@ amd64_fbsd_nat_target::read_description ()
   if (x86bsd_xsave_len != 0)
     {
       if (is64)
-	return amd64_target_description (xcr0);
+	return amd64_target_description (xcr0, true);
       else
 	return i386_target_description (xcr0);
     }
 #endif
   if (is64)
-    return amd64_target_description (X86_XSTATE_SSE_MASK);
+    return amd64_target_description (X86_XSTATE_SSE_MASK, true);
   else
     return i386_target_description (X86_XSTATE_SSE_MASK);
 }
diff --git a/gdb/amd64-fbsd-tdep.c b/gdb/amd64-fbsd-tdep.c
index 9b2ee13653..f5bf1985b6 100644
--- a/gdb/amd64-fbsd-tdep.c
+++ b/gdb/amd64-fbsd-tdep.c
@@ -156,7 +156,7 @@ amd64fbsd_core_read_description (struct gdbarch *gdbarch,
 				 struct target_ops *target,
 				 bfd *abfd)
 {
-  return amd64_target_description (i386fbsd_core_read_xcr0 (abfd));
+  return amd64_target_description (i386fbsd_core_read_xcr0 (abfd), true);
 }
 
 /* Similar to amd64_supply_fpregset, but use XSAVE extended state.  */
@@ -218,7 +218,7 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->sizeof_gregset = 22 * 8;
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   tdep->sigtramp_p = amd64fbsd_sigtramp_p;
   tdep->sigtramp_start = amd64fbsd_sigtramp_start_addr;
diff --git a/gdb/amd64-nbsd-tdep.c b/gdb/amd64-nbsd-tdep.c
index f740bb4a82..d100beacd1 100644
--- a/gdb/amd64-nbsd-tdep.c
+++ b/gdb/amd64-nbsd-tdep.c
@@ -105,7 +105,7 @@ amd64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->sizeof_gregset = 26 * 8;
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   tdep->jb_pc_offset = 7 * 8;
 
diff --git a/gdb/amd64-obsd-tdep.c b/gdb/amd64-obsd-tdep.c
index 1e078b14f8..da4739c972 100644
--- a/gdb/amd64-obsd-tdep.c
+++ b/gdb/amd64-obsd-tdep.c
@@ -421,7 +421,7 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
   obsd_init_abi (info, gdbarch);
 
   /* Initialize general-purpose register set details.  */
diff --git a/gdb/amd64-sol2-tdep.c b/gdb/amd64-sol2-tdep.c
index 78d3d361cb..9504f190d7 100644
--- a/gdb/amd64-sol2-tdep.c
+++ b/gdb/amd64-sol2-tdep.c
@@ -101,7 +101,7 @@ amd64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->sizeof_gregset = 28 * 8;
 
   amd64_init_abi (info, gdbarch,
-		  amd64_target_description (X86_XSTATE_SSE_MASK));
+		  amd64_target_description (X86_XSTATE_SSE_MASK, true));
 
   tdep->sigtramp_p = amd64_sol2_sigtramp_p;
   tdep->sigcontext_addr = amd64_sol2_mcontext_addr;
-- 
2.17.1


  reply	other threads:[~2018-06-29 22:53 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-29 22:10 gdb-buildbot
2018-06-29 22:10 ` Breakage on builder Fedora-s390x-m64, revision de52b9607d2623f18b7a7dbee3e1123d8d63f5da gdb-buildbot
2018-06-29 22:10 ` Breakage on builder RHEL-s390x-m64, " gdb-buildbot
2018-06-29 22:12 ` Breakage on builder NetBSD-x86_64-m64, " gdb-buildbot
2018-06-29 22:21 ` Oh dear. I regret to inform you that commit de52b9607d2623f18b7a7dbee3e1123d8d63f5da might be unfortunate Joel Brobecker
2018-06-29 22:53   ` Joel Brobecker [this message]
2018-06-29 23:22     ` Sergio Durigan Junior
2018-06-29 23:35       ` Joel Brobecker
2018-06-30  1:39         ` Sergio Durigan Junior
2018-06-29 22:58 ` Breakage on builder Fedora-x86_64-m32, revision de52b9607d2623f18b7a7dbee3e1123d8d63f5da gdb-buildbot
2018-06-29 23:02 ` Breakage on builder Fedora-x86_64-native-extended-gdbserver-m32, " gdb-buildbot
2018-06-29 23:05 ` Breakage on builder Fedora-x86_64-cc-with-index, " gdb-buildbot
2018-06-29 23:08 ` Breakage on builder Fedora-x86_64-native-gdbserver-m64, " gdb-buildbot
2018-06-29 23:09 ` Breakage on builder Fedora-x86_64-native-extended-gdbserver-m64, " gdb-buildbot
2018-06-29 23:11 ` Breakage on builder Fedora-x86_64-m64, " gdb-buildbot
2018-06-29 23:22 ` Breakage on builder Fedora-x86_64-native-gdbserver-m32, " gdb-buildbot
2018-06-29 23:42 ` Breakage on builder Debian-s390x-native-gdbserver-m64, " gdb-buildbot
2018-06-29 23:44 ` Breakage on builder Debian-s390x-m64, " gdb-buildbot
2018-06-29 23:46 ` Breakage on builder Debian-s390x-native-extended-gdbserver-m64, " gdb-buildbot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180629225343.GH2511@adacore.com \
    --to=brobecker@adacore.com \
    --cc=gdb-buildbot@sergiodj.net \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox