http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52090

             Bug #: 52090
           Summary: FAIL: c-c++-common/simulate-thread/bitfields-4.c  -O2
                    -g  thread simulation test
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: dang...@gcc.gnu.org
              Host: hppa-unknown-linux-gnu
            Target: hppa-unknown-linux-gnu
             Build: hppa-unknown-linux-gnu


Spawning: gdb -nx -nw -quiet -x
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.dg/simu
late-thread/simulate-thread.gdb ./bitfields-4.exespawn gdb -nx -nw -x
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.dg/simulate-thread
/simulate-thread.gdb ./bitfields-4.exe
GNU gdb (GDB) 7.3-debian
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.There is NO
WARRANTY, to the extent permitted by law.  Type "show copying"and "show
warranty" for details.This GDB was configured as "hppa-linux-gnu".
For bug reporting instructions, please
see:<http://www.gnu.org/software/gdb/bugs/>...Reading symbols from
/home/dave/gnu/gcc/objdir/gcc/testsuite/gcc/bitfields-4.exe
...done.Breakpoint 1 at 0x107d8: file
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/
simulate-thread/bitfields-4.c, line 50.
Breakpoint 1, simulate_thread_main () at
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c:50
50        p -> c = 55;
1: x/i $pc
=> 0x107d8 <simulate_thread_main>:      addil L%0,dp,r1
0x000107dc      50        p -> c = 55;
1: x/i $pc
=> 0x107dc <simulate_thread_main+4>:    ldi 37,r20
0x000107e0      50        p -> c = 55;
1: x/i $pc
=> 0x107e0 <simulate_thread_main+8>:    ldw b8(r1),ret0
0x000107e4      50        p -> c = 55;
1: x/i $pc
=> 0x107e4 <simulate_thread_main+12>:   ldb 1(ret0),r19
0x000107e8      50        p -> c = 55;
1: x/i $pc
=> 0x107e8 <simulate_thread_main+16>:   stb r20,2(ret0)
0x000107ec      50        p -> c = 55;
1: x/i $pc
=> 0x107ec <simulate_thread_main+20>:   depwi 0,31,1,r19
0x000107f0      50        p -> c = 55;
1: x/i $pc
=> 0x107f0 <simulate_thread_main+24>:   bve (rp)
0x000107f4      50        p -> c = 55;
1: x/i $pc
=> 0x107f4 <simulate_thread_main+28>:   stb r19,1(ret0)
$$dyncall () at ../../../gcc/libgcc/config/pa/milli64.S:219
219             bb,>=,n %r22,30,LREF(1)         ; branch if not plabel address
1: x/i $pc
=> 0x107f8 <$$dyncall>: bb,*>=,n r22,1e,0x10808 <$$dyncall+16>
219             bb,>=,n %r22,30,LREF(1)         ; branch if not plabel address
1: x/i $pc
=> 0x107f8 <$$dyncall>: bb,*>=,n r22,1e,0x10808 <$$dyncall+16>
225             bv      %r0(%r22)               ; branch to the real target
1: x/i $pc
=> 0x10808 <$$dyncall+16>:      bv r0(r22)
231             stw     %r2,-24(%r30)           ; save return address into
frame marker
1: x/i $pc
=> 0x1080c <$$dyncall+20>:      stw rp,-18(sp)
__canonicalize_funcptr_for_compare (fptr=0x12008) at
../../../gcc/libgcc/config/pa/fptr.c:66
66      {
1: x/i $pc
=> 0x10810 <__canonicalize_funcptr_for_compare>:        stw rp,-14(sp)
75        if ((int) fptr == -1 || (unsigned int) fptr < 4096 || !((int) fptr &
2))
1: x/i $pc
=> 0x10814 <__canonicalize_funcptr_for_compare+4>:      copy r26,ret0
0x00010818      75        if ((int) fptr == -1 || (unsigned int) fptr < 4096 ||
!((int) fptr & 2))
1: x/i $pc
=> 0x10818 <__canonicalize_funcptr_for_compare+8>:      ldi fff,r20
66      {
1: x/i $pc
=> 0x1081c <__canonicalize_funcptr_for_compare+12>:     stw,ma r4,40(sp)
0x00010820      66      {
1: x/i $pc
=> 0x10820 <__canonicalize_funcptr_for_compare+16>:     stw r3,-3c(sp)
75        if ((int) fptr == -1 || (unsigned int) fptr < 4096 || !((int) fptr &
2))
1: x/i $pc
=> 0x10824 <__canonicalize_funcptr_for_compare+20>:     cmpb,>>=
r20,r26,0x10854 <__canonicalize_funcptr_for_compare+68>
0x00010828      75        if ((int) fptr == -1 || (unsigned int) fptr < 4096 ||
!((int) fptr & 2))
1: x/i $pc
=> 0x10828 <__canonicalize_funcptr_for_compare+24>:     stw r19,-20(sp)
0x0001082c      75        if ((int) fptr == -1 || (unsigned int) fptr < 4096 ||
!((int) fptr & 2))
1: x/i $pc
=> 0x1082c <__canonicalize_funcptr_for_compare+28>:     cmpib,=,n
-1,r26,0x10854 <__canonicalize_funcptr_for_compare+68>
0x00010830      75        if ((int) fptr == -1 || (unsigned int) fptr < 4096 ||
!((int) fptr & 2))
1: x/i $pc
=> 0x10830 <__canonicalize_funcptr_for_compare+32>:     bb,*>= r26,1e,0x10854
<__canonicalize_funcptr_for_compare+68>
0x00010834      75        if ((int) fptr == -1 || (unsigned int) fptr < 4096 ||
!((int) fptr & 2))
1: x/i $pc
=> 0x10834 <__canonicalize_funcptr_for_compare+36>:     copy r26,r3
87        if (got !=  &_GLOBAL_OFFSET_TABLE_)
1: x/i $pc
=> 0x10838 <__canonicalize_funcptr_for_compare+40>:     addil L%0,dp,r1
0x0001083c      87        if (got !=  &_GLOBAL_OFFSET_TABLE_)
1: x/i $pc
=> 0x1083c <__canonicalize_funcptr_for_compare+44>:     ldw 8c(r1),r20
83        plabel = (unsigned int *) ((unsigned int) fptr & ~3);
1: x/i $pc
=> 0x10840 <__canonicalize_funcptr_for_compare+48>:     depwi 0,31,2,r3
84        got = (unsigned int *) (plabel[0] + GOT_FROM_PLT_STUB);
1: x/i $pc
=> 0x10844 <__canonicalize_funcptr_for_compare+52>:     ldw 0(r3),ret0
0x00010848      84        got = (unsigned int *) (plabel[0] +
GOT_FROM_PLT_STUB);
1: x/i $pc
=> 0x10848 <__canonicalize_funcptr_for_compare+56>:     ldo 10(ret0),r21
87        if (got !=  &_GLOBAL_OFFSET_TABLE_)
1: x/i $pc
=> 0x1084c <__canonicalize_funcptr_for_compare+60>:     cmpb,= r20,r21,0x10864
<__canonicalize_funcptr_for_compare+84>
0x00010850      87        if (got !=  &_GLOBAL_OFFSET_TABLE_)
1: x/i $pc
=> 0x10850 <__canonicalize_funcptr_for_compare+64>:     addil L%0,dp,r1
131     }
1: x/i $pc
=> 0x10854 <__canonicalize_funcptr_for_compare+68>:     ldw -54(sp),rp
0x00010858      131     }
1: x/i $pc
=> 0x10858 <__canonicalize_funcptr_for_compare+72>:     ldw -3c(sp),r3
0x0001085c      131     }
1: x/i $pc
=> 0x1085c <__canonicalize_funcptr_for_compare+76>:     bve (rp)
0x00010860      131     }
1: x/i $pc
=> 0x10860 <__canonicalize_funcptr_for_compare+80>:     ldw,mb -40(sp),r4
__canonicalize_funcptr_for_compare (fptr=0x12008) at
../../../gcc/libgcc/config/pa/fptr.c:93
93        if (!fixup)
1: x/i $pc
=> 0x10864 <__canonicalize_funcptr_for_compare+84>:     ldw 7c(r1),ret0
0x00010868      93        if (!fixup)
1: x/i $pc
=> 0x10868 <__canonicalize_funcptr_for_compare+88>:     ldw 0(ret0),r22
0x0001086c      93        if (!fixup)
1: x/i $pc
=> 0x1086c <__canonicalize_funcptr_for_compare+92>:     cmpib,= 0,r22,0x1088c
<__canonicalize_funcptr_for_compare+124>
0x00010870      93        if (!fixup)
1: x/i $pc
=> 0x10870 <__canonicalize_funcptr_for_compare+96>:     ldil L%-3ff2000,ret1
128       fixup ((struct link_map *) got[1], plabel[1]);
1: x/i $pc
=> 0x10874 <__canonicalize_funcptr_for_compare+100>:    ldw 4(r20),r26
0x00010878      128       fixup ((struct link_map *) got[1], plabel[1]);
1: x/i $pc
=> 0x10878 <__canonicalize_funcptr_for_compare+104>:    ldw 4(r3),r25

Program received signal SIGSEGV, Segmentation fault.
0x00010878 in __canonicalize_funcptr_for_compare (fptr=<optimized out>) at
../../../gcc/libgcc/config/pa/fptr.c:128
128       fixup ((struct link_map *) got[1], plabel[1]);
1: x/i $pc
=> 0x10878 <__canonicalize_funcptr_for_compare+104>:    ldw 4(r3),r25
FAIL: c-c++-common/simulate-thread/bitfields-4.c  -O2 -g  thread simulation
test

Reply via email to