This is the mail archive of the
ecos-discuss@sourceware.cygnus.com
mailing list for the eCos project.
Re: [ECOS] Macro problems in arm-elf-as
- To: dh@ctechnologies.se
- Subject: Re: [ECOS] Macro problems in arm-elf-as
- From: Ian Lance Taylor <ian@zembu.com>
- Date: 15 Jun 1999 12:45:19 -0400
- CC: ecos-discuss@sourceware.cygnus.com
- References: <37663832.4CD56748@ctechnologies.se>
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