Re: ENTRY-macro in linkage.h

Uwe Reimann (linux-kernel@pulsar.homelinux.net)
Sun, 09 Feb 2003 13:35:32 +0100


My problem is how to add the whitespace. The preprocessor seems to strip
it. Consider this (test.S):

#define ENTRY(X) \
.global X##; \
X##:

ENTRY(foo)
ENTRY(bar)

gcc -S test.S:

.global foo; foo:
.global bar; bar:

For c4x-gcc, this has to be like this:

.global foo
foo:
.global bar
bar:

Without the leading whitespace, .global is taken as a name of a label.
Without the newline before the labels, they are not recognized (taken as
comments).

How can I tell the preprocessor to emit spaces and newlines?

Alan Cox wrote:

>On Sat, 2003-02-08 at 16:51, Uwe Reimann wrote:
>
>
>>Hi,
>>
>>I'm currently porting linux to TI's TMS320C31. I'm using c4x-gcc, which
>>has a problem with the ENTRY-macro from linkage.h. c4x-gcc will accept
>>the generated .globl-directive only if it is preceded by whitescape.
>>Right know, gcc thinks I want to create a label called .globl. Any ideas
>>how to fix this without fixing gcc?
>>
>>
>
>I think every other port will probably be fine with the whitespace present
>so I guess add a space 8)
>
>
>
>
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/