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] testsuite/gdb.dwarf2: Fix for dw2-ifort-parameter failure on ARM


On 16 January 2014 09:03, Omair Javaid <omair.javaid@linaro.org> wrote:
> On Mon 11 Nov 2013 02:36:40 PM PKT, Yao Qi wrote:
>> [Sorry for being late]
>>
>> On 09/19/2013 11:30 PM, Omair Javaid wrote:
>>> (gdb) break func
>>> warning: Breakpoint address adjusted from 0x000083bd to 0x000083bc.
>>> Breakpoint 1 at 0x83bc (2 locations)
>>
>> 'break func' should insert a breakpoint at an address A after the first
>> several instructions of function func, due to the effect of skip
>> prologue.  Address A should be an address of a thumb instruction, so it
>> should be 2-byte aligned.  In this case, the address should be
>> 0x000083bc.  I'd like to check why 0x000083bd is generated, and
>> probably we should use gdbarch_addr_bits_remove somewhere.
>>
>
> There seemed no problem with how breakpoint addresses were being adjusted.
> This test requires to build dwarf info by hand in dw2-ifort-parameter-debug.S
> using compile time addresses so in case of arm (thumb mode) the least
> significant bits of compile time address are set to 1. For that reason
> 0x000083bd was being used as a breakpoint address func. This test was using
> that compile time address to insert breakpoint and that breakpoint was being
> adjusted to an instruction before the actual intended breakpoint instruction.
> I have just added a simple stepi test to make sure that we are in correct
> scope when we test for a fortran constant param. This works fine for both
> arm and x86.
>
> gdb/testsuite/ChangeLog:
>
> 2014-01-16  Omair Javaid  <Omair.Javaid@linaro.org>
>
>         * gdb.dwarf2/dw2-ifort-parameter.exp: Adds a new stepi test.
>
> ---
>  gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp |    2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp b/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
> index 35fb0fa..8f49eea 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
> @@ -33,4 +33,6 @@ if ![runto func] {
>      return -1
>  }
>
> +gdb_test "stepi" ".*"
> +

I guess this could use a comment to explain why it is there.

-- 
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]