mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 22:48:57 +08:00
Enable x32 support in gdbserver
* Makefile.in (clean): Also remove x32.c x32-linux.c x32-avx.c x32-avx-linux.c. (x32.o): New target. (x32.c): Likewise. (x32-linux.o): Likewise. (x32-linux.c): Likewise. (x32-avx.o): Likewise. (x32-avx.c): Likewise. (x32-avx-linux.o): Likewise. (x32-avx-linux.c): Likewise. * configure.srv (srv_amd64_regobj): Add x32.o x32-avx.o. (srv_amd64_linux_regobj): Add x32-linux.o x32-avx-linux.o. (srv_i386_64bit_xmlfiles): Add i386/x32-core.xml. (srv_amd64_xmlfiles): Add i386/x32.xml i386/x32-avx.xml. (srv_amd64_linux_xmlfiles): Add i386/x32-linux.xml i386/x32-avx-linux.xml. * linux-x86-low.c (init_registers_x32_linux): New prototype. (init_registers_x32_avx_linux): Likwise. (x86_linux_update_xmltarget): Call init_registers_x32_linux or init_registers_x32_avx_linux if linux_is_elf64 is false.
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user