Re: dollars-in-identifiers on ARM, was: Creating and using GCJ ARM cross compiler
Andrew Haley <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
Matthijs van de Water wrote: > On Fri, Apr 18, 2008 at 7:17 PM, Andrew Haley <[email protected]> wrote: >>> error: stray '$' in program >> > [error repeated a lot of times] >> > >> > If I add "-fdollars-in-identifiers" to my compile statement, it >> > completes without error, but I would expect this not to be necessary. >> >> Well, it is. For some reason I could never understand, it's needed on arm. >> I added -fdollars-in-identifiers in several places in the libgcj build. > The reason for this is probably that gcc/config/arm/aout.h has: > > /* Arm Assembler barfs on dollars. */ > #define DOLLARS_IN_IDENTIFIERS 0 No, that's not the reason, it's just the implementation. > See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24111 which if I > read it correctly says that what is done with GCJ on ARM violates EABI > rules... Indeed, yes: "4.4.4 Symbol names "All symbol names containing a dollar character (‘$’) are reserved to the ARM EABI." http://refspecs.freestandards.org/elf/ARMELF.pdf > Is this something that can/should be fixed? No. This bug is closed, RESOLVED INVALID. I don't think it should be fixed. The only reasonable way to fix it IMO is to change the ARM ELF spec, and that's not at all likely. Andrew.