This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/29319] ICE unrecognizable insn: offset too large for larl (breaks glibc)



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]