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 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" ".*"
+
 gdb_test "p/x param" " = 0xdeadf00d"
-- 
1.7.9.5


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