#define in assembler file
Mon Oct 23 17:55:00 GMT 2000
Robert Floyd wrote:
> I am attempting to create an object file from my sh-hms-gcc
> crosscompiler with an example *.s file that I have. But I noticed the
> following when I type the line below:
> ./sh-hms-gcc -o initsh.o initsh.s
> /var/tmp/ccaJD08h.o(.text+0x20):InitSh.S: undefined reference to 'WCR1'
> This is only one of many. When I look at my initsh.s example file for
> the lines concerning WCR1 I find the following:
> #define WCR1 0x05FFFFA2
> ...and further down...
> .long WCR1
> I noticed however there is no problems with the use of the two byte word
> such as:
> #define INIT_WCR1 0x05FD
> ....further down...
> .word INIT_WCR1
> Why am I having these errors with the long words? Thanks for your help.
#defines are handled by the C preprocessor (cpp). Somewhere in the back
of my mind I seem to recall that gcc will invoke cpp if the extension is
.S (upper case) and doesn't for .s (lower case). You might want to
check in the gcc documentation.
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to email@example.com
More information about the crossgcc