build failure
Jakub Jelinek
jakub@redhat.com
Sun Jan 5 07:51:00 GMT 2003
On Sat, Jan 04, 2003 at 06:07:05PM -0800, Richard Henderson wrote:
> On Sat, Jan 04, 2003 at 12:57:15AM +0100, Jakub Jelinek wrote:
> > No longer wonder. I think it is writev. And alloca-cutoff.c is not needed
> > in ld.so on IA-32/x86-64/IA-64/sparc/sparc64 because it has INTERNAL_SYSCALL
> > macro implemented, while Alpha does not.
> > That one would be good to have...
>
> The interface is lousy.
>
> (1) I'd have to generate an error return value.
>
> Unlike x86, the error indication is out of band from the
> return value. Normally, this is a Good Thing.
>
> (2) The single place the error return value is checked, it's
> done with a variable that's too narrow.
>
> I suggest that INTERNAL_SYSCALL be re-architected to return an error
> indication as an output argument to the macro, i.e.
>
> result = INTERNAL_SYSCALL (errno, name, nr, args...)
>
> with errno == 0 on success. This lets you get rid of
> INTERNAL_SYSCALL_ERROR_P and INTERNAL_SYSCALL_ERRNO.
> In theory, you're not doing any additional work on x86
> (or others, since all callers should be checking the
> return result anyway, right? And if you don't, the
> computation should be removed as dead code.
I agree.
Jakub
More information about the Libc-hacker
mailing list