optimization/337: Illegal %sp offset on Solaris 8

chr.breitkopf@magrathea.de chr.breitkopf@magrathea.de
Tue Jun 20 03:46:00 GMT 2000


>Number:         337
>Category:       optimization
>Synopsis:       Illegal %sp offset on Solaris 8
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jun 20 03:46:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Christoph Breitkopf
>Release:        gcc 2.95.2
>Organization:
>Environment:
Sun Ultra 5/400
Solaris 8
gcc 2.95.2
>Description:
When the flags
  -mcpu=ultrasparc -O -funroll-loops
are used, gcc generates invalid code for the printf()
statement in the attached file.
It generates 
  std %f6,[%sp+0x5c]
which causes a segmentation fault, because of the bad
alignment.
This only happens if the printf() has at least 3 double
parameters after the string parameter.
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-unknown-content-type-cfile; name="test.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test.c"

I2luY2x1ZGUgPHN0ZGlvLmg+Cgpjb25zdCBjaGFyICpsYWJlbFtdID0geyJmb28iLCJiYXIiLCJx
dXV4In07CmludCBtYWluKCkKewoJZG91YmxlIHhbNF07CglpbnQgaTsKCgoJeFswXSA9IDAuMzQ1
OwoJZm9yIChpID0gMTsgaSA8IDQ7IGkrKykgewoJCXhbaV0gPSB4W2ktMV0gKiAwLjM0ICsgMTsK
CX0KCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKCQlwcmludGYoIiVzICVmICVmICVmXG4iLCBs
YWJlbFtpXSwgeFtpXSwgeFtpKzFdLCB4W2krMl0pOwoJfQoJcmV0dXJuIDA7Cn0KCg==


More information about the Gcc-prs mailing list