diff options
author | Daniel Jacobowitz <drow@false.org> | 2009-11-13 22:34:33 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2009-11-13 22:34:33 +0000 |
commit | 3d8d5e79c0d5cdad628b570e3de267f28bea62d1 (patch) | |
tree | 84320eb6f57b5aad9434a56ac009cd0b45fbb1ce | |
parent | 4ac4dd3fece22aa8ef53ea7dc4137ef24b8f50eb (diff) | |
download | gdb-3d8d5e79c0d5cdad628b570e3de267f28bea62d1.zip gdb-3d8d5e79c0d5cdad628b570e3de267f28bea62d1.tar.gz gdb-3d8d5e79c0d5cdad628b570e3de267f28bea62d1.tar.bz2 |
* arm-tdep.c (arm_skip_stub): Recognize RealView veneer functions.
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/arm-tdep.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e55b4d3..f689b05 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2009-11-13 Daniel Jacobowitz <dan@codesourcery.com> + + * arm-tdep.c (arm_skip_stub): Recognize RealView veneer functions. + 2009-11-13 Maciej W. Rozycki <macro@codesourcery.com> * breakpoint.c (update_watchpoint): Only fiddle with frames for diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index b71d05f..361af89 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -5155,8 +5155,10 @@ arm_skip_stub (struct frame_info *frame, CORE_ADDR pc) /* If PC is in a Thumb call or return stub, return the address of the target PC, which is in a register. The thunk functions are called _call_via_xx, where x is the register name. The possible names - are r0-r9, sl, fp, ip, sp, and lr. */ - if (strncmp (name, "_call_via_", 10) == 0) + are r0-r9, sl, fp, ip, sp, and lr. ARM RealView has similar + functions, named __ARM_call_via_r[0-7]. */ + if (strncmp (name, "_call_via_", 10) == 0 + || strncmp (name, "__ARM_call_via_", strlen ("__ARM_call_via_")) == 0) { /* Use the name suffix to determine which register contains the target PC. */ |