Just for completeness, here's what happens if I manually switch back to ARM when we hit caml_start_program:
# gdb --args /mnt/a.out
GNU gdb (Ubuntu/Linaro 7.2-1ubuntu11) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /mnt/a.out...(no debugging symbols found)...done.
(gdb) set arm force-mode thumb
(gdb) b *0x14f94
Breakpoint 1 at 0x14f94
(gdb) r
Starting program: /mnt/a.out
Breakpoint 1, 0x00014f94 in caml_start_program ()
(gdb) disable 1
(gdb) set arm force-mode auto
(gdb) set $cpsr &= ~0x20
(gdb) c
Continuing.
Just for completeness, here's what happens if I manually switch back to ARM when we hit caml_start_program:
# gdb --args /mnt/a.out gnu.org/ licenses/ gpl.html> gnueabi" . www.gnu. org/software/ gdb/bugs/>...
GNU gdb (Ubuntu/Linaro 7.2-1ubuntu11) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-
For bug reporting instructions, please see:
<http://
Reading symbols from /mnt/a.out...(no debugging symbols found)...done.
(gdb) set arm force-mode thumb
(gdb) b *0x14f94
Breakpoint 1 at 0x14f94
(gdb) r
Starting program: /mnt/a.out
Breakpoint 1, 0x00014f94 in caml_start_program ()
(gdb) disable 1
(gdb) set arm force-mode auto
(gdb) set $cpsr &= ~0x20
(gdb) c
Continuing.
Program exited normally.