[uClibc]mips and clone.S

Geoffrey Espin espin at idiom.com
Tue May 21 16:22:10 UTC 2002


On Tue, May 21, 2002 at 11:40:50AM -0500, Scott A McConnell wrote:
> I have been working on getting clone.S built for mipsel.
> mipsel-linux-gcc -Wall -Os -falign-functions=1 -fno-builtin -nostdinc 
> -nostdinc -I../../../../include
> -I/opt/toolchains/mips/lib/gcc-lib/mipsel-linux/3.1/include -I. -D_LIBC 
> -DNDEBUG  -fPIC -D_LIBC_REENTRANT -c clone.S -o clone.o
> clone.S: Assembler messages:
> clone.S:107: Error: unrecognized opcode `extern __typeof(__clone)clone
> __attribute__((weak,alias("__clone")))'
> Can anyone explain to me what it is complaining about?

Literally, you're trying to feed 'C' to the assembler.

At first I figured that the weak_alias() macro should not be
allowed in .S files.  However, I see for mips only, fork.S does
this.  Probably it is a slip up.  If you look in v860/ & sh/
Makefile's they have:

    sh/Makefile:SFLAGS= $(CFLAGS) -D__ASSEMBLER__ ...

I suspect mips/Makefile should have this.

If the weak_alias(clone) is actually needed, by inspecting other
arches .S files you can see the assembly syntax is:

v850/longjmp.S:
    .weak C_SYMBOL_NAME(longjmp)
    C_SYMBOL_NAME(longjmp) = C_SYMBOL_NAME(__longjmp)


> diff -urN uClibc/libc/sysdeps/linux/mips/CVS/Entries
> uClibc-new/libc/sysdeps/linux/mips/CVS/Entries
> --- uClibc/libc/sysdeps/linux/mips/CVS/Entries	Tue May 21 11:06:36 2002
> +++ uClibc-new/libc/sysdeps/linux/mips/CVS/Entries	Tue May 21 09:07:42

You've included CVS files in your diff.  :-/
Use '| filterdiff -x "*CVS*"' before posting.

Geoff
--
Geoffrey Espin
espin at idiom.com
--



More information about the uClibc mailing list