* ppc-linux-tdep.c (ppc_linux_vsx_regset_sections) New structure.
(ppc_linux_vmx_regset_sections): New structure. (ppc_linux_fp_regset_sections): New structure. (ppc_linux_init_abi): Select core-file regset based on target features.
This commit is contained in:
parent
fcef9eb7bc
commit
6207416c57
|
@ -1,3 +1,11 @@
|
||||||
|
2008-08-26 Luis Machado <luisgpm@br.ibm.com>
|
||||||
|
|
||||||
|
* ppc-linux-tdep.c (ppc_linux_vsx_regset_sections) New structure.
|
||||||
|
(ppc_linux_vmx_regset_sections): New structure.
|
||||||
|
(ppc_linux_fp_regset_sections): New structure.
|
||||||
|
(ppc_linux_init_abi): Select core-file regset based on target
|
||||||
|
features.
|
||||||
|
|
||||||
2008-08-26 Ulrich Weigand <uweigand@de.ibm.com>
|
2008-08-26 Ulrich Weigand <uweigand@de.ibm.com>
|
||||||
|
|
||||||
* target.c (debug_print_register): Use regcache_raw_collect
|
* target.c (debug_print_register): Use regcache_raw_collect
|
||||||
|
|
|
@ -491,7 +491,7 @@ ppc64_standard_linkage1_target (struct frame_info *frame,
|
||||||
return ppc64_desc_entry_point (desc);
|
return ppc64_desc_entry_point (desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct core_regset_section ppc_linux_regset_sections[] =
|
static struct core_regset_section ppc_linux_vsx_regset_sections[] =
|
||||||
{
|
{
|
||||||
{ ".reg", 268 },
|
{ ".reg", 268 },
|
||||||
{ ".reg2", 264 },
|
{ ".reg2", 264 },
|
||||||
|
@ -500,6 +500,21 @@ static struct core_regset_section ppc_linux_regset_sections[] =
|
||||||
{ NULL, 0}
|
{ NULL, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct core_regset_section ppc_linux_vmx_regset_sections[] =
|
||||||
|
{
|
||||||
|
{ ".reg", 268 },
|
||||||
|
{ ".reg2", 264 },
|
||||||
|
{ ".reg-ppc-vmx", 544 },
|
||||||
|
{ NULL, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct core_regset_section ppc_linux_fp_regset_sections[] =
|
||||||
|
{
|
||||||
|
{ ".reg", 268 },
|
||||||
|
{ ".reg2", 264 },
|
||||||
|
{ NULL, 0}
|
||||||
|
};
|
||||||
|
|
||||||
static CORE_ADDR
|
static CORE_ADDR
|
||||||
ppc64_standard_linkage2_target (struct frame_info *frame,
|
ppc64_standard_linkage2_target (struct frame_info *frame,
|
||||||
CORE_ADDR pc, unsigned int *insn)
|
CORE_ADDR pc, unsigned int *insn)
|
||||||
|
@ -1103,7 +1118,14 @@ ppc_linux_init_abi (struct gdbarch_info info,
|
||||||
set_gdbarch_core_read_description (gdbarch, ppc_linux_core_read_description);
|
set_gdbarch_core_read_description (gdbarch, ppc_linux_core_read_description);
|
||||||
|
|
||||||
/* Supported register sections. */
|
/* Supported register sections. */
|
||||||
set_gdbarch_core_regset_sections (gdbarch, ppc_linux_regset_sections);
|
if (tdesc_find_feature (info.target_desc,
|
||||||
|
"org.gnu.gdb.power.vsx"))
|
||||||
|
set_gdbarch_core_regset_sections (gdbarch, ppc_linux_vsx_regset_sections);
|
||||||
|
else if (tdesc_find_feature (info.target_desc,
|
||||||
|
"org.gnu.gdb.power.altivec"))
|
||||||
|
set_gdbarch_core_regset_sections (gdbarch, ppc_linux_vmx_regset_sections);
|
||||||
|
else
|
||||||
|
set_gdbarch_core_regset_sections (gdbarch, ppc_linux_fp_regset_sections);
|
||||||
|
|
||||||
/* Enable TLS support. */
|
/* Enable TLS support. */
|
||||||
set_gdbarch_fetch_tls_load_module_address (gdbarch,
|
set_gdbarch_fetch_tls_load_module_address (gdbarch,
|
||||||
|
|
Loading…
Reference in New Issue