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.
This commit is contained in:
parent
b9c04e5a82
commit
41206e32fb
@ -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>
|
2018-06-29 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
* gdb/amd64-tdep.h (amd64_create_target_description): Add
|
* gdb/amd64-tdep.h (amd64_create_target_description): Add
|
||||||
|
@ -100,7 +100,7 @@ x86_darwin_init_abi_64 (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||||
|
|
||||||
amd64_init_abi (info, 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;
|
tdep->struct_return = reg_struct_return;
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ static void
|
|||||||
amd64_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
amd64_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
||||||
{
|
{
|
||||||
amd64_init_abi (info, 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);
|
dicos_init_abi (gdbarch);
|
||||||
}
|
}
|
||||||
|
@ -188,13 +188,13 @@ amd64_fbsd_nat_target::read_description ()
|
|||||||
if (x86bsd_xsave_len != 0)
|
if (x86bsd_xsave_len != 0)
|
||||||
{
|
{
|
||||||
if (is64)
|
if (is64)
|
||||||
return amd64_target_description (xcr0);
|
return amd64_target_description (xcr0, true);
|
||||||
else
|
else
|
||||||
return i386_target_description (xcr0);
|
return i386_target_description (xcr0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (is64)
|
if (is64)
|
||||||
return amd64_target_description (X86_XSTATE_SSE_MASK);
|
return amd64_target_description (X86_XSTATE_SSE_MASK, true);
|
||||||
else
|
else
|
||||||
return i386_target_description (X86_XSTATE_SSE_MASK);
|
return i386_target_description (X86_XSTATE_SSE_MASK);
|
||||||
}
|
}
|
||||||
|
@ -156,7 +156,7 @@ amd64fbsd_core_read_description (struct gdbarch *gdbarch,
|
|||||||
struct target_ops *target,
|
struct target_ops *target,
|
||||||
bfd *abfd)
|
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. */
|
/* 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;
|
tdep->sizeof_gregset = 22 * 8;
|
||||||
|
|
||||||
amd64_init_abi (info, gdbarch,
|
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_p = amd64fbsd_sigtramp_p;
|
||||||
tdep->sigtramp_start = amd64fbsd_sigtramp_start_addr;
|
tdep->sigtramp_start = amd64fbsd_sigtramp_start_addr;
|
||||||
|
@ -105,7 +105,7 @@ amd64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
tdep->sizeof_gregset = 26 * 8;
|
tdep->sizeof_gregset = 26 * 8;
|
||||||
|
|
||||||
amd64_init_abi (info, gdbarch,
|
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;
|
tdep->jb_pc_offset = 7 * 8;
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||||
|
|
||||||
amd64_init_abi (info, 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);
|
obsd_init_abi (info, gdbarch);
|
||||||
|
|
||||||
/* Initialize general-purpose register set details. */
|
/* Initialize general-purpose register set details. */
|
||||||
|
@ -101,7 +101,7 @@ amd64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
tdep->sizeof_gregset = 28 * 8;
|
tdep->sizeof_gregset = 28 * 8;
|
||||||
|
|
||||||
amd64_init_abi (info, gdbarch,
|
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->sigtramp_p = amd64_sol2_sigtramp_p;
|
||||||
tdep->sigcontext_addr = amd64_sol2_mcontext_addr;
|
tdep->sigcontext_addr = amd64_sol2_mcontext_addr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user