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]

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


On 9 June 2014 03:13, Yao Qi <yao@codesourcery.com> wrote:
> 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(-)

This series looks good to me, although I am not a maintainer.

-- 
Will Newton
Toolchain Working Group, Linaro


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