This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/3] Skip thumb call-indirect trampoline


We find the following test failures on arm targets with compilation
flags '-mthumb -march=armv4t':

FAIL: gdb.base/funcargs.exp: backtrace through call with trampolines
FAIL: gdb.base/funcargs.exp: stepping back to main from function called with trampolines
FAIL: gdb.base/funcargs.exp: stepping into function called with trampolines
FAIL: gdb.base/funcargs.exp: stepping into indirectly called function

These fails are caused by a gdb unrecognized trampoline added by gcc
in this patch (written by Richard Earnshaw),

  [PATCH] ARM: Handle Thumb call-indirect in an EABI-compliant manner
  https://gcc.gnu.org/ml/gcc-patches/2005-01/msg00813.html

This patch series is about teaching GDB to detect this new trampoline
sequence.  Note that Richard Earnshaw pointed out in the mail that
his patch causes two GDB regressions, but I am unsure they are the
ones I am fixing today.

Patches are regression tested on both arm-none-eabi and
arm-none-linux-gnu-eabi with various multi-libs.  Fails above are
fixed and no regressions.

IMO, it is better for 7.8 release to pick up this fix.

*** BLURB HERE ***

Yao Qi (3):
  Skip 'bx reg' trampoline on arm-none-eabi
  Apply stub unwinder to 'bx reg' trampoline
  Skip 'bx reg' on arm-linux

 gdb/arm-linux-tdep.c | 15 +++++++++-
 gdb/arm-tdep.c       | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 91 insertions(+), 3 deletions(-)

-- 
1.9.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]