mirror of
https://github.com/apache/nuttx.git
synced 2026-06-02 01:21:26 +08:00
tools/gdbinit: add sim:x86-m32 support
Signed-off-by: chao.an <anchao@xiaomi.com>
This commit is contained in:
+35
-1
@@ -46,7 +46,12 @@ define _examine_arch
|
|||||||
gdb.execute("set $_target_arch = \"i386:x86-64\"")
|
gdb.execute("set $_target_arch = \"i386:x86-64\"")
|
||||||
|
|
||||||
# NOTE: we assume that sim has sim_bringup function
|
# NOTE: we assume that sim has sim_bringup function
|
||||||
python if (type(gdb.lookup_global_symbol("sim_bringup")) is gdb.Symbol) : \
|
python if (type(gdb.lookup_global_symbol("sim_bringup")) is gdb.Symbol \
|
||||||
|
and _target_arch.name() == 'i386') : \
|
||||||
|
gdb.execute("set $_target_arch=\"sim:x86\"")
|
||||||
|
|
||||||
|
python if (type(gdb.lookup_global_symbol("sim_bringup")) is gdb.Symbol \
|
||||||
|
and _target_arch.name() == 'i386:x86-64') : \
|
||||||
gdb.execute("set $_target_arch=\"sim:x86-64\"")
|
gdb.execute("set $_target_arch=\"sim:x86-64\"")
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -133,6 +138,9 @@ define _save_tcb
|
|||||||
if ($_streq($_target_arch, "sim:x86-64") == 1)
|
if ($_streq($_target_arch, "sim:x86-64") == 1)
|
||||||
_save_tcb_simx86-64 $tcb
|
_save_tcb_simx86-64 $tcb
|
||||||
end
|
end
|
||||||
|
if ($_streq($_target_arch, "sim:x86") == 1)
|
||||||
|
_save_tcb_simx86 $tcb
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
define _save_current_tcb
|
define _save_current_tcb
|
||||||
@@ -177,6 +185,9 @@ define _switch_tcb
|
|||||||
if ($_streq($_target_arch, "sim:x86-64") == 1)
|
if ($_streq($_target_arch, "sim:x86-64") == 1)
|
||||||
_switch_tcb_simx86-64 $tcb
|
_switch_tcb_simx86-64 $tcb
|
||||||
end
|
end
|
||||||
|
if ($_streq($_target_arch, "sim:x86") == 1)
|
||||||
|
_switch_tcb_simx86 $tcb
|
||||||
|
end
|
||||||
|
|
||||||
# update _current_tcb
|
# update _current_tcb
|
||||||
set $_current_tcb = $tcb
|
set $_current_tcb = $tcb
|
||||||
@@ -381,6 +392,29 @@ define _switch_tcb_simx86-64
|
|||||||
set $rip = $tcb.xcp.regs[7]
|
set $rip = $tcb.xcp.regs[7]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# see nuttx/arch/sim/src/sim/up_internal.h
|
||||||
|
define _save_tcb_simx86
|
||||||
|
set $tcb = (struct tcb_s *)$arg0
|
||||||
|
set $tcb.xcp.regs[0] = $ebx
|
||||||
|
set $tcb.xcp.regs[1] = $esi
|
||||||
|
set $tcb.xcp.regs[2] = $edi
|
||||||
|
set $tcb.xcp.regs[3] = $ebp
|
||||||
|
set $tcb.xcp.regs[4] = $sp
|
||||||
|
set $tcb.xcp.regs[5] = $pc
|
||||||
|
|
||||||
|
set $_pc_reg_idx = 5
|
||||||
|
end
|
||||||
|
|
||||||
|
define _switch_tcb_simx86
|
||||||
|
set $tcb = (struct tcb_s *)$arg0
|
||||||
|
set $ebx = $tcb.xcp.regs[0]
|
||||||
|
set $esi = $tcb.xcp.regs[1]
|
||||||
|
set $edi = $tcb.xcp.regs[2]
|
||||||
|
set $ebp = $tcb.xcp.regs[3]
|
||||||
|
set $sp = $tcb.xcp.regs[4]
|
||||||
|
set $pc = $tcb.xcp.regs[5]
|
||||||
|
end
|
||||||
|
|
||||||
define nxthread
|
define nxthread
|
||||||
_examine_target
|
_examine_target
|
||||||
_save_current_tcb
|
_save_current_tcb
|
||||||
|
|||||||
Reference in New Issue
Block a user