This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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]

ARM, Maverick Crunch and C++ exceptions


Hello,
I've tried to compile some C++ program with ARM-targetted gcc that emits instructions for Maverick Crunch FPU (it's gcc-4.1.2 with patches from http://files.futaris.org/gcc/crunch.tar.bz2).  There are assembler errors:

/tmp/cc3KDFf1.s: Assembler messages:
/tmp/cc3KDFf1.s:51145: Error: register expected
/tmp/cc3KDFf1.s:66883: Error: register expected
/tmp/cc3KDFf1.s:66886: Error: register expected
/tmp/cc3KDFf1.s:66889: Error: register expected

The same program compiles and works perfectly when compiling with

When I've looked at gcc's assembly output I've found this:

line 51145:
        .save {mv4}
        cfstrd  mvd4, [sp, #-8]!
line 66883:
        .save {mv6}
        cfstrd  mvd6, [sp, #-8]!
line 66886:
        .save {mv5}
        cfstrd  mvd5, [sp, #-8]!
line 66889:
        .save {mv4}
        cfstrd  mvd4, [sp, #-8]!

It seems that as can't expand .save macro with Maverick register as argument. I've looked also at gas/config/tc-arm.c file in binutils and I've found that there are "s_arm_unwind_save_core", "s_arm_unwind_save_fpa",
"s_arm_unwind_save_vfp_armv6", "s_arm_unwind_save_vfp",
"s_arm_unwind_save_mmxwr", "s_arm_unwind_save_mmxwcg" functions
but there is no "s_arm_unwind_save_maverick" function. It seems that there is no support for exceptions and Maverick at all. Is it a bug or (mis)feature?

Wojciech Wisniewski


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