aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/linux-x86-low.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/gdbserver/linux-x86-low.c')
-rw-r--r--gdb/gdbserver/linux-x86-low.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c
index 1e65e97..4ea284e 100644
--- a/gdb/gdbserver/linux-x86-low.c
+++ b/gdb/gdbserver/linux-x86-low.c
@@ -41,6 +41,10 @@ void init_registers_i386_avx_linux (void);
void init_registers_amd64_avx_linux (void);
/* Defined in auto-generated file i386-mmx-linux.c. */
void init_registers_i386_mmx_linux (void);
+/* Defined in auto-generated file x32-linux.c. */
+void init_registers_x32_linux (void);
+/* Defined in auto-generated file x32-avx-linux.c. */
+void init_registers_x32_avx_linux (void);
static unsigned char jump_insn[] = { 0xe9, 0, 0, 0, 0 };
static unsigned char small_jump_insn[] = { 0x66, 0xe9, 0, 0 };
@@ -1158,8 +1162,10 @@ x86_linux_update_xmltarget (void)
#ifdef __x86_64__
if (num_xmm_registers == 8)
init_registers_i386_linux ();
- else
+ else if (linux_is_elf64)
init_registers_amd64_linux ();
+ else
+ init_registers_x32_linux ();
#else
{
# ifdef HAVE_PTRACE_GETFPXREGS
@@ -1254,8 +1260,10 @@ x86_linux_update_xmltarget (void)
/* I386 has 8 xmm regs. */
if (num_xmm_registers == 8)
init_registers_i386_avx_linux ();
- else
+ else if (linux_is_elf64)
init_registers_amd64_avx_linux ();
+ else
+ init_registers_x32_avx_linux ();
#else
init_registers_i386_avx_linux ();
#endif