Patchwork [testsuite] : Fix timeout in simulate-thread.exp

login
register
mail settings
Submitter Uros Bizjak
Date Nov. 17, 2011, 2:02 p.m.
Message ID <CAFULd4Y1SKMJbnXTmwmYqdkRk22u5MvvTP63S8PDAASPF_hLeQ@mail.gmail.com>
Download mbox | patch
Permalink /patch/126226/
State New
Headers show

Comments

Uros Bizjak - Nov. 17, 2011, 2:02 p.m.
On Thu, Nov 17, 2011 at 2:22 PM, Iain Sandoe
<developer@sandoe-acoustics.co.uk> wrote:
>
> On 17 Nov 2011, at 10:49, Alan Modra wrote:
>
>> On Thu, Nov 17, 2011 at 10:54:23AM +0100, Uros Bizjak wrote:
>>>
>>> The solution for this problem is to search for "simulate_thread_done"
>>> in gdb log.
>>
>> Thanks!  I like this for another reason too:  I've seen these tests
>> fail due to gdb never reporting simulate_thread_main on any
>> instruction in that function.
>
> ... works for me on powerpc-darwin9 ...
>
> with a local experimental 7.3.1 port to powerpc-darwin9, some more tests
> pass, but not all ...
> ... what base version/patch is needed to get all the tests to pass for you?

It looks to me that you will also need following rs6000 gdb patch,
otherwise relative addresses of a conditional branch will be
calculated against opening lwarx/ldarx instruction:


Uros.
IainS - Nov. 17, 2011, 3:09 p.m.
Hi Uros,

On 17 Nov 2011, at 14:02, Uros Bizjak wrote:

> On Thu, Nov 17, 2011 at 2:22 PM, Iain Sandoe
> <developer@sandoe-acoustics.co.uk> wrote:
>>
>> On 17 Nov 2011, at 10:49, Alan Modra wrote:
>>
>>> On Thu, Nov 17, 2011 at 10:54:23AM +0100, Uros Bizjak wrote:
>>>>
>>>> The solution for this problem is to search for  
>>>> "simulate_thread_done"
>>>> in gdb log.
>>>
>>> Thanks!  I like this for another reason too:  I've seen these tests
>>> fail due to gdb never reporting simulate_thread_main on any
>>> instruction in that function.
>>
>> ... works for me on powerpc-darwin9 ...
>>
>> with a local experimental 7.3.1 port to powerpc-darwin9, some more  
>> tests
>> pass, but not all ...
>> ... what base version/patch is needed to get all the tests to pass  
>> for you?
>
> It looks to me that you will also need following rs6000 gdb patch,
> otherwise relative addresses of a conditional branch will be
> calculated against opening lwarx/ldarx instruction:
>
> --- rs6000-tdep.c       2011-03-18 19:52:31.000000000 +0100
> +++ rs6000-tdep.c.ub    2011-11-17 14:58:46.000000000 +0100
> @@ -1126,7 +1126,7 @@ ppc_deal_with_atomic_sequence (struct fr
>          if (absolute)
>            breaks[1] = immediate;
>          else
> -           breaks[1] = pc + immediate;
> +           breaks[1] = loc + immediate;
>
>          bc_insn_count++;
>          last_breakpoint++;

Excellent!!!

Native configuration is powerpc-apple-darwin9

Running target unix/-m32
Using /usr/local/dejagnu-1-4-4/share/dejagnu/baseboards/unix.exp as  
board description file for target.
Using /usr/local/dejagnu-1-4-4/share/dejagnu/config/unix.exp as  
generic interface file for target.
Using /GCC/gcc-live-trunk/gcc/testsuite/config/default.exp as tool-and- 
target-specific interface file.
Running /GCC/gcc-live-trunk/gcc/testsuite/gcc.dg/simulate-thread/ 
simulate-thread.exp ...

                 === gcc Summary ===

# of expected passes            108
# of unsupported tests          22
/Volumes/ScratchCS/gcc-4-7-trunk-build/gcc/xgcc  version 4.7.0  
20111117 (experimental) [trunk revision 181436] (GCC)


(I haven't finished the m64 gdb port yet, so can't try that at the  
moment).

:-)
Iain

Patch

--- rs6000-tdep.c       2011-03-18 19:52:31.000000000 +0100
+++ rs6000-tdep.c.ub    2011-11-17 14:58:46.000000000 +0100
@@ -1126,7 +1126,7 @@  ppc_deal_with_atomic_sequence (struct fr
          if (absolute)
            breaks[1] = immediate;
          else
-           breaks[1] = pc + immediate;
+           breaks[1] = loc + immediate;

          bc_insn_count++;
          last_breakpoint++;