Age | Commit message (Collapse) | Author |
|
The kernel does not save these registers across system calls. GCC 4.4
has gotten more aggressive about using them for temporary variables, so
this shows up as intermittent crashes if you use a recent compiler.
Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Declare common NCS (non-constant syscall) variants and convert the existing
ports over to this.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Unify all the common syscall defines in syscalls-common.h and scrub all
the duplicated code from relevant ports. This should also make converting
existing ports to INLINE_SYSCALL() much easier as they don't have to get
lost in all the unrelated noise, as well as creating new ports.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
When I imported INLINE_SYSCALL, etc. from glibc, I just copied whole
macros for each ABI. Actually, except for argument type (long
vs. long long), internal_syscall[0-4] are identical for all ABI, and
internal_syscall[5-6] for N32/N64 are identical for N32/N64.
And I just disabled FORCE_FRAME_POINTER since it had caused build
failure, but including <alloca.h> can solve it.
Here is a patch to handle these issues, plus asm/__asm__ and
volatile/__volatile__ conversion.
Thanks for Peter S. Mazinger who did basic work of this cleanup.
|
|
This patch imports INLINE_SYSCALL, etc. from glibc-2.5 ports and
implements _syscall[0-7] by using them, like arm and powerpc.
I think this patch does not change functionality, but gives better
__SYSCALL_CLOBBERS for N32/N64.
|
|
applications stop using _syscall#() and use syscall() instead. Cleanup
internal handling of syscall includes to use the correct header file.
|
|
The mips64 N32/N64 ABI can pass much arguments via registers.
|
|
|
|
|
|
|
|
annoying warnings.
|
|
without lvalue in asm". Give the asm an lvalue so it can be happy.
|
|
In a recent post to linux-mips ML (and libc-alpha ML), a problem with
inline syscalls was reported.
http://www.linux-mips.org/archives/linux-mips/2004-10/msg00142.html
It seems uClibc should be fixed also for newer gcc. Here is a patch.
|
|
|
|
-Erik
|
|
can't tack in the return -1 since then when people include errno.h, the return
-1 mysteriously vanishes... Setting the __set_errno back and restoring the
'return -1;' calls to each _syscall[0-n] macro makes mips syscalls work again.
-Erik
|
|
|
|
Prepare to kill the UNIFIED_SYSCALL option and instead have it be
a per arch thing that is either enabled or not for that arch.
-Erik
|
|
be included to avoid gratuitous conflicts... This is
a hack till we have proper _syscall macros for all archs.
-Erik
|
|
Remove and ignore generated syscall.h files from sparc and mipsel.
|