This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project.


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

Re: [ECOS] Macro problems in arm-elf-as


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 <dh@ctechnologies.se>
> 
>    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
> 


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