NetBSD-Bugs archive

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

port-sparc/45255: GCC 4.5.3 and sparc re-triggers the NULL savefpstate IPI issue



>Number:         45255
>Category:       port-sparc
>Synopsis:       GCC 4.5.3 and sparc re-triggers the NULL savefpstate IPI issue
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-sparc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 15 02:25:00 +0000 2011
>Originator:     matthew green
>Release:        NetBSD 5.99.55
>Organization:
people's front against (bozotic) www (softwar foundation)
>Environment:
System: NetBSD russian-intervention.eterna23.net 5.99.55 NetBSD 5.99.55 
(_russian_) #7: Fri Aug 12 14:07:48 PDT 2011  
mrg%xotica.eterna23.net@localhost:/var/obj/sparc/usr/src3/sys/arch/sparc/compile/_russian_
 sparc
Architecture: sparc
Machine: sparc
>Description:

        we need to revert this comment (again):

Module Name:    src
Committed By:   mrg
Date:           Mon Aug 15 02:19:45 UTC 2011

Modified Files:
        src/sys/arch/sparc/sparc: cpu.c cpuvar.h genassym.cf locore.s

Log Message:
re-introduce the NULL savefpstate IPI checks and evcnts.  something
is Wrong with GCC 4.5.3 and these trigger.  i haven't seen anything
else particularly wrong so for now this will allow sparc to switch
to GCC 4.5, which otherwise seems to be working very well for me.

sigh.  i'm going to file a PR to research what is really wrong here.


To generate a diff of this commit:
cvs rdiff -u -r1.233 -r1.234 src/sys/arch/sparc/sparc/cpu.c
cvs rdiff -u -r1.89 -r1.90 src/sys/arch/sparc/sparc/cpuvar.h
cvs rdiff -u -r1.66 -r1.67 src/sys/arch/sparc/sparc/genassym.cf
cvs rdiff -u -r1.264 -r1.265 src/sys/arch/sparc/sparc/locore.s

        but first the problem it works around that is re-introduced
        with GCC 4.5.3 needs to be figured out.

        my first guess is that some asm() has poor constraints or
        some other netbsd code bug.  i doubt it is a GCC bug, but
        you never really know.

>How-To-Repeat:

        use a sparc kernel built with GCC 4.5.3 heavily.  without
        the above change, it should panic fairly often.  with the
        above change, event counters will tell you how many times
        the panic was avoided.

>Fix:



Home | Main Index | Thread Index | Old Index