Compilation of syscall.c fails on ARM device
Rob Landley
rob at landley.net
Sun Sep 6 04:15:37 UTC 2009
On Tuesday 18 August 2009 17:42:36 Khem Raj wrote:
> > This is the error I'm getting:
> >
> > libc/sysdeps/linux/common/syscall.c: In function 'syscall':
> > libc/sysdeps/linux/common/syscall.c:11: warning: asm operand 1
> > probably doesn't match constraints
> > libc/sysdeps/linux/common/syscall.c:11: error: impossible constraint in
> > 'asm' make: *** [libc/sysdeps/linux/common/syscall.os] Error 1
Yeah, I hit this too, but I was trying to track down the problem that broke
_all_ architectures before worrying about problems that break just one.
> > Any idea what is causing the compile error?
According to the bisect I did, git b1913a8760599 is causing it. If you revert
that, it builds again.
> > If you need any more information regarding this issue, please let me
> > know.
>
> you seem to be using Old ABI. In this case it is broken because in old
> ABI syscall number was passed in as a constant argument to SWI
> syscall function now passes the constant in a register which does not
> work and spits the error what you see.
I.E. a regression.
> This should work ok for EABI case because there the syscall number is
> passed in R0.
> If we need to revive OABI then we might have to find a way to make it
> work, right now mostly people use EABI and there it should work ok.
>
> Is it possible for you to switch to EABI ?
I have a Tin Can Tools Nail/Hammer board based on the Samsung S3C2410A, which
is an arm920T (v4l) processor. As far as I know, uClibc has never supported
armv4 EABI. Those chips are still being manufactured because they're cheap
and low power...
Rob
--
Latency is more important than throughput. It's that simple. - Linus Torvalds
More information about the uClibc
mailing list