NetBSD-Bugs archive

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

port-sparc/44705: libc violates sparc ABI by using %g7

>Number:         44705
>Category:       port-sparc
>Synopsis:       libc violates sparc ABI by using %g7
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-sparc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 09 20:05:00 +0000 2011
>Originator:     Martin Husemann
>Release:        NetBSD 5.99.48
The NetBSD Foundation, Inc.
System: NetBSD 5.99.48 NetBSD 5.99.48 (MP3) #12: Wed Mar 9 
20:42:21 CET 2011 
Architecture: sparc
Machine: sparc
The libc source generated from src/lib/libc/arch/sparc/gen/divrem.m4 use a
scratch register "SC", which is currently defined as %g7. This violates the
ABI and will cause trouble with threaded programs.

Luckily the code in question (in default installs) should only be used on
sparc v7 machines (not seen [powered on] in the wild a lot nowadays).
Code inspection.

Home | Main Index | Thread Index | Old Index