This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Hi there, I have an application running on an embedded arm7tdmi and I've got a problem compiling code using gcc 3.0 for thumb mode operation and supporting long calls to functions. In order to improve the execution speed I have recently relocated some of the executable into RAM. This has meant that I have to use the -mcalls-long switch on gcc because my RAM area is some 700 MB above the ROM area in my address map. I have successfully compiled and linked the code running in arm mode. However, when I try to compile and link the same code for the arm7 in thumb mode, I get the following compiler error: threadtest.cxx: In function `int C_Entry()': threadtest.cxx:72: Unrecognizable insn: (call_insn 14 351 19 (parallel[ (call (mem:SI (symbol_ref:SI ("^_Z10staticInitv")) 0) (const_int 0 [0x0])) (use (const_int 1 [0x1])) (clobber (reg:SI 14 lr)) ] ) -1 (nil) (expr_list:REG_UNUSED (reg:SI 14 lr) (expr_list:REG_EH_REGION (const_int 0 [0x0]) (nil))) (nil)) threadtest.cxx:72: Internal compiler error in extract_insn, at recog.c:2210 Previous builds, targeting all the code into ROM were successful in both Arm and Thumb modes, so I suspect that there's something strange happening with the combined -mcalls-long and -mthumb switches to the compiler. Has anyone out there experienced anything like this before ? Am I doing something obviously wrong ? Many thanks, Andy ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |