This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] testsuite/gdb.dwarf2: Fix for dw2-ifort-parameter failure on ARM
- From: Will Newton <will dot newton at linaro dot org>
- To: Omair Javaid <omair dot javaid at linaro dot org>
- Cc: Yao Qi <yao at codesourcery dot com>, "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Thu, 16 Jan 2014 09:17:48 +0000
- Subject: Re: [PATCH] testsuite/gdb.dwarf2: Fix for dw2-ifort-parameter failure on ARM
- Authentication-results: sourceware.org; auth=none
- References: <CANW4E-2bQYjx6YdR3qGyKUsQa_KOrtmkWsZYqKzcuQBF==RPpw at mail dot gmail dot com> <CANW4E-25HdXYKMk258iO=GZ=PNM=Zu4jMbstpkSoMgE9wFpmkQ at mail dot gmail dot com> <51E4B587 dot 70007 at codesourcery dot com> <CANW4E-0vd51dTvd5qxUbeDn7ebXV-cf+WS4+VpyyGyD0MYGk8Q at mail dot gmail dot com> <5280A528 dot 8040308 at codesourcery dot com> <52D7A05F dot 6070304 at linaro dot org>
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