NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

toolchain/46385: gcc internal error compiling boost-libs on sparc64

>Number:         46385
>Category:       toolchain
>Synopsis:       gcc internal error compiling boost-libs on sparc64
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Apr 27 10:25:00 +0000 2012
>Originator:     Martin Husemann
>Release:        NetBSD 6.99.5
The NetBSD Foundation, Inc.
System: NetBSD 6.99.5 NetBSD 6.99.5 
(MODULAR) #166: Wed Apr 25 10:56:51 CEST 2012
Architecture: sparc64
Machine: sparc64

Trying to build devel/boost-libs on sparc64 -current breaks with an internal
gcc compiler error:

ore was generated by `cc1plus'.
Program terminated with signal 4, Illegal instruction.
#0  0x00000000001ba7a0 in gt_ggc_mx_lang_tree_node ()

Note that the compile uses g++ -O3.

However, it is not clear to me why it gets a signal:

(gdb) x/16i 0x00000000001ba780
   0x1ba780 <gt_ggc_mx_lang_tree_node+4480>:    nop 
   0x1ba784 <gt_ggc_mx_lang_tree_node+4484>:    ldx  [ %l0 + 0x50 ], %o0
   0x1ba788 <gt_ggc_mx_lang_tree_node+4488>:    
    brz,a,pn   %o0, 0x1ba79c <gt_ggc_mx_lang_tree_node+4508>
   0x1ba78c <gt_ggc_mx_lang_tree_node+4492>:    ld  [ %l0 + 0x58 ], %g1
   0x1ba790 <gt_ggc_mx_lang_tree_node+4496>:    
    call  0x1b9600 <gt_ggc_mx_lang_tree_node>
   0x1ba794 <gt_ggc_mx_lang_tree_node+4500>:    nop 
   0x1ba798 <gt_ggc_mx_lang_tree_node+4504>:    ld  [ %l0 + 0x58 ], %g1
   0x1ba79c <gt_ggc_mx_lang_tree_node+4508>:    
    brz,pn   %g1, 0x1b96fc <gt_ggc_mx_lang_tree_node+252>
=> 0x1ba7a0 <gt_ggc_mx_lang_tree_node+4512>:    stx  %g1, [ %fp + 0x7f7 ]
   0x1ba7a4 <gt_ggc_mx_lang_tree_node+4516>:    mov  %l0, %g1
   0x1ba7a8 <gt_ggc_mx_lang_tree_node+4520>:    clr  %i1
   0x1ba7ac <gt_ggc_mx_lang_tree_node+4524>:    ldx  [ %g1 + 0x60 ], %o0
   0x1ba7b0 <gt_ggc_mx_lang_tree_node+4528>:    
    brz,pn   %o0, 0x1ba7c8 <gt_ggc_mx_lang_tree_node+4552>
   0x1ba7b4 <gt_ggc_mx_lang_tree_node+4532>:    ldx  [ %fp + 0x7f7 ], %g2
   0x1ba7b8 <gt_ggc_mx_lang_tree_node+4536>:    
    call  0x1b9600 <gt_ggc_mx_lang_tree_node>
   0x1ba7bc <gt_ggc_mx_lang_tree_node+4540>:    stx  %g1, [ %fp + 0x7ef ]

Nothing illegal in this instructions, AFAICT, but %fp looks bogus:

g0             *value not available*
g1             0x0      0
g2             0x3bfffffffc000000       4323455642208567296
g3             0x30     48
g4             0x3bfffffffc000000       4323455642208567296
g5             0x1      1
g6             0x0      0
g7             0x40a18040       1084325952
o0             0x0      0
o1             0x1      1
o2             0x7b5000 8081408
o3             0x7f0cc8 8326344
o4             0x7b5c00 8084480
o5             0x200    512
sp             0xffffffffffdfd621       0xffffffffffdfd621
o7             0x1ba704 1812228
l0             0x1      1
l1             0x1      1
l2             0x1      1
l3             0x1      1
l4             0x1      1
l5             0x1      1
l6             0x1      1
l7             0x1      1
i0             0x1      1
i1             0x1      1
i2             0x1      1
i3             0x1      1
i4             0x1      1
i5             0x1      1
fp             0x1      0x1
i7             0x1      1
pc             0x1ba7a0 0x1ba7a0 <gt_ggc_mx_lang_tree_node+4512>
npc            0x1b96fc 0x1b96fc <gt_ggc_mx_lang_tree_node+252>
state          0x4482008204     294238847492
fsr            0x820    [ NXC #11 ]
fprs           *value not available*
y              0x0      0
cwp            0x4      4
pstate         0x82     [ IE #7 ]
asi            0x82     130
ccr            0x44     68


Seems to be repeatable for me, I'll try on another machine to make sure.


Home | Main Index | Thread Index | Old Index