This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/29319] ICE unrecognizable insn: offset too large for larl (breaks glibc)
- From: "rob1weld at aol dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Jan 2009 13:54:25 -0000
- Subject: [Bug target/29319] ICE unrecognizable insn: offset too large for larl (breaks glibc)
- References: <bug-29319-12182@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #9 from rob1weld at aol dot com 2009-01-20 13:54 -------
I was checking my Testsuite Results for UNSUPPORTED tests and arrived here.
I thought I would try the code on i386-pc-solaris2.11 with gcc version 4.4.0 .
When booted 32-bit and using -m64:
# gcc -O2 -m64 -fPIC test.c
(nothing printed)
When booted 32-bit and using -m32 the modern compiler objects to
the " info[tag - 0x100000000 + 1] = 1;" lines in the source:
# gcc -O2 -m32 -fPIC test.c
del_test.c: In function 'bug1':
del_test.c:8: warning: integer constant is too large for 'long' type
del_test.c: In function 'bug2':
del_test.c:15: warning: integer constant is too large for 'long' type
del_test.c: In function 'bug3':
del_test.c:22: warning: integer constant is too large for 'long' type
Adding "ULL" to the end of the constants eliminates the warnings too.
Rob
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29319