From mboxrd@z Thu Jan 1 00:00:00 1970 From: The Utz Family To: Ian Lance Taylor Cc: dh@ctechnologies.se, ecos-discuss@sourceware.cygnus.com Subject: Re: [ECOS] Macro problems in arm-elf-as Date: Tue, 15 Jun 1999 14:40:00 -0000 Message-id: References: <19990615164519.8787.qmail@daffy.airs.com> X-SW-Source: 1999-06/msg00010.html ouch! :-( how is this really *supposed* to work then? completely OTOH.... could somebody work arounds this by preprocessing? comments get stripped prior to compilation, so if somebody were to preprocess this independent of as and the feed it to as after processing ( assuming that there is a flag that tells as that it will be receiving predigested input )..... i am really out on a limb here because i dont understand fully the process that as uses to get from memnonics and pseudo-ops to something that actually gets used to emit code. my other tremendously lame suggestion is to go in and hack the code to turn off comment processing in the parser and not use any comments ( thats pure heresy to me, but it doesnt mean that you couln't have the comments in the checked in copy for now, and then just strip them with a perl script or something...... ) On 15 Jun 1999, Ian Lance Taylor wrote: > Date: Tue, 15 Jun 1999 13:25:38 +0200 > From: Dan Hovang > > It seems like the arm-elf-as macro routines are broken. Following > code works in cygwin32 as aswell as in binutils-2.9.1 compiled under > RedHat Linux 6.0, but not in arm-elf-as as in ecosSWtools-arm-990321. > > .macro test, t1, t2 > .int \t1 > label\@: > .int \t2 > .endm > > test 1, 2 > test 3, 4 > test 5, 6 > > bash-2.02$ arm-elf-as test.S -o test > test.S: Assembler messages: > test.S:8: Error: bad instruction `label\' > test.S:9: Error: bad instruction `label\' > test.S:10: Error: bad instruction `label\' > > I've browsed some sources in the ecosSWtools and compared them against > binutils (read.c and macro.c) but I've not been able to locate the > problem. Any ideas, anyone? > > The problem is that `@' is the comment character for ARM assembly > code. That takes precedence over the special meaning of `\@' in a > macro. The third line in your test case is being seen as just > `label\'. The `@' and everything following it are being treated as a > comment. > > I unfortunately don't have any clever suggestions. > > Ian >