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