Hi
I read the following:
Preprocessing - The *as* internal preprocessor:It does not do macro
processing, include file handling, or anything else you may get from
your C compiler's preprocessor.
Yes, that's true. The preprocessor of GNU as is not a pre-processor in
the sense of the C compiler.
Now the way the toolchains are used, it appears that .S files are
preprocessed by the Assembler, because my MACROs in the .S are never
getting defined& in the make files I see that the .S files are given
to Assembler.
There is a "convention" that .s are pure assembler-files which could be
passed to the assembler directly, but .S files do contain pre-processor
macros (known from C). So, the .S must be passed to the pre-processor
before passing the output to the assembler.
The usual way is to NOT pass the .S file to 'as' but to pass it to
'gcc', e.g. gcc <file>.S -c. gcc will then do the steps as described
above (preprocessor -> assembler).
Best regards,
Andi