From patchwork Fri Jun 29 22:53:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Brobecker X-Patchwork-Id: 28164 Received: (qmail 19489 invoked by alias); 29 Jun 2018 22:53:49 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 19479 invoked by uid 89); 29 Jun 2018 22:53:48 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=omissions, blind, 277, dear X-HELO: rock.gnat.com Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 29 Jun 2018 22:53:47 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id B8BE456136; Fri, 29 Jun 2018 18:53:45 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id mKN0vkO7hiAu; Fri, 29 Jun 2018 18:53:45 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 8526B56134; Fri, 29 Jun 2018 18:53:45 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id D217287940; Fri, 29 Jun 2018 15:53:43 -0700 (PDT) Date: Fri, 29 Jun 2018 15:53:43 -0700 From: Joel Brobecker To: gdb-buildbot@sergiodj.net Cc: Pedro Alves , gdb-patches@sourceware.org Subject: Re: Oh dear. I regret to inform you that commit de52b9607d2623f18b7a7dbee3e1123d8d63f5da might be unfortunate Message-ID: <20180629225343.GH2511@adacore.com> References: <20180629222108.GG2511@adacore.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180629222108.GG2511@adacore.com> User-Agent: Mutt/1.9.4 (2018-02-28) > 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. From 41206e32fb909ebacf6db009fc1f177bde74a652 Mon Sep 17 00:00:00 2001 From: Joel Brobecker 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 + + * 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 * 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