[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: (E)GLIBC: inline syscalls



But in fact, the HAVE_INLINED_SYSCALLS currently
means only HAVE_INTERNAL_SYSCALLS ...

The calls to INLINE_SYSCALL is not the part that worries me the most. It's
rather the code between #ifdef HAVE_INLINED_SYSCALLS in the elf/
directory. Not something we can workaround easily from our ports/sysdeps/directory.

I would suggest declare HAVE_INLINED_SYSCALLS, but keep current
"#define INLINE_SYSCALL(name, nr, args...) __syscall_##name (args)"

and only provide INTERNAL_SYSCALL as
#define INTERNAL_SYSCALL(name, err, nr, args...) INTERNAL_SYSCALL_##name(err, args...)

Currently there is only one needed - INTERNAL_SYSCALL_writev due to
dl-misc.c:  INTERNAL_SYSCALL (writev, err, 3, fd, &iov, niov)

I have done it, in fact there is a need for two macros:

INTERNAL_SYSCALL_close(name, err, nr, fd)
INTERNAL_SYSCALL_writev(name, err, nr, fd, iov, cnt)

Testsuite is OK, code is in glibc-bsd and pkg-glibc SVNs.

Petr


Reply to: