mbox series

[0/4] linux-user/i386: Emulate orig_ax

Message ID 20240802095942.34565-1-iii@linux.ibm.com (mailing list archive)
Headers show
Series linux-user/i386: Emulate orig_ax | expand

Message

Ilya Leoshkevich Aug. 2, 2024, 9:59 a.m. UTC
Hi,

Currently gdbstub is barely usable with i386-linux-user: GDB cannot
even parse a shared library list, so no symbols are available. This
boils down to unavailability of info proc, which is gated behind
org.gnu.gdb.i386.linux. See amd64_linux_init_abi(); info proc is
enabled by amd64_linux_init_abi_common() -> linux_init_abi().

This series adds orig_ax support to the emulator and gdbstub, and
enables the existing test-proc-mappings.py on i386.

Best regards,
Ilya

Ilya Leoshkevich (5):
  include/exec: Introduce env_cpu_const()
  linux-user/i386: Emulate orig_ax
  target/i386/gdbstub: Factor out gdb_get_reg() and gdb_write_reg()
  target/i386/gdbstub: Expose orig_ax
  tests/tcg: Run test-proc-mappings.py on i386

 configs/targets/i386-linux-user.mak           |   2 +-
 configs/targets/x86_64-linux-user.mak         |   2 +-
 gdb-xml/i386-32bit-linux.xml                  |  11 ++
 gdb-xml/i386-64bit-linux.xml                  |  11 ++
 include/exec/cpu-common.h                     |  13 ++-
 linux-user/elfload.c                          |   6 +-
 linux-user/i386/cpu_loop.c                    |   3 +
 linux-user/qemu.h                             |   5 +
 target/i386/cpu.c                             |   1 +
 target/i386/cpu.h                             |   1 +
 target/i386/gdbstub.c                         | 103 ++++++++++++++----
 .../multiarch/gdbstub/test-proc-mappings.py   |  17 +--
 12 files changed, 137 insertions(+), 38 deletions(-)
 create mode 100644 gdb-xml/i386-32bit-linux.xml
 create mode 100644 gdb-xml/i386-64bit-linux.xml