c/4516: sh-unknown-linux-gnu: big jump table

NIIBE Yutaka gniibe@m17n.org
Wed Oct 10 03:56:00 GMT 2001


>Number:         4516
>Category:       c
>Synopsis:       sh-unknown-linux-gnu: big jump table
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 10 03:56:30 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     NIIBE Yutaka <gniibe@m17n.org>
>Release:        3.0.1 or mainline
>Organization:
>Environment:
sh-unknown-linux-gnu
Debain GNU/Linux (unstable)
>Description:
"make bootstrap" fails.
The compiler miscomiples expr.c and fold-const.c with -O0.
With -mbigtable it  does not miscompile.
With -ON (N>=1), it does not miscompile.

It does miscompile because there's no validation for value of jump table.
When it's bigger than 32767, at runtime, it goes completly
different place.
>How-To-Repeat:
"make bootstrap"
>Fix:
I don't have, for now.
Default to -mbigtable?

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list