[Bug c/11999] New: illegal instruction in libunwind-ia64.c
rscohnlkjh at netscape dot net
gcc-bugzilla@gcc.gnu.org
Wed Aug 20 22:26:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11999
Summary: illegal instruction in libunwind-ia64.c
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rscohnlkjh at netscape dot net
CC: gcc-bugs at gcc dot gnu dot org
GCC host triplet: ia64
GCC target triplet: ia64
There is an asm on line 2239 in gcc/config/ia64/libunwind-ia64.c that contains
the following instruction:
"(p6) mov.i ar.fpsr = r30 \n\t"
The fpsr application register can only be referenced on the m unit and this
instruction attempts to reference it on the i unit. It would cause an illegal
instruction fault if it was executed. It should be:
"(p6) mov.m ar.fpsr = r30 \n\t"
See table 3.3 of the "Intel Itanium architecture software devloper's manual, vol 1"
I don't have a reproducer for this. The problem was found by a program that
inspects code, not by running a gcc compiled binary that executes the code.
Robert
More information about the Gcc-bugs
mailing list