diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2002-08-26 18:56:09 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2002-08-26 18:56:09 +0000 |
commit | 90b65e2d06b900f3d282515d2d0f7113a56eca99 (patch) | |
tree | 5a624046078a7d6cdab38a41210143de1ea52a48 /newlib/libc/sys/linux/machine | |
parent | 874ab2d639a959d5f51839d4d315b2f2738cf359 (diff) | |
download | cygnal-90b65e2d06b900f3d282515d2d0f7113a56eca99.tar.gz cygnal-90b65e2d06b900f3d282515d2d0f7113a56eca99.tar.bz2 cygnal-90b65e2d06b900f3d282515d2d0f7113a56eca99.zip |
2002-08-26 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am(LIBC_OBJECTLISTS): Add STDIO64_OBJECTLIST.
* Makefile.in: Regenerated.
* acinclude.m4: Add support for --enable-newlib-elix-level option.
* aclocal.m4: Regenerated.
* configure: Ditto.
* configure.host: Add code to define _ELIX_LEVEL if
--enable-newlib-elix-level option is used.
* configure.in:
* libc/aclocal.m4: Regenerated.
* libc/configure: Ditto.
* libc/argz/Makefile.am: Add EL/IX level checking.
* libc/argz/Makefile.in: Regenerated.
* libc/argz/dummy.c: New file.
* libc/ctype/Makefile.am: Add EL/IX level checking.
* libc/ctype/Makefile.in: Regenerated.
* libc/locale/Makefile.am: Add EL/IX level checking.
* libc/locale/Makefile.in: Regenerated.
* libc/posix/Makefile.am: Add EL/IX level checking.
* libc/posix/Makefile.in: Regenerated.
* libc/posix/telldir.c: Add EL/IX level checking.
* libc/reent/Makefile.am: Ditto.
* libc/reent/fstat64r.c: Ditto.
* libc/reent/lseek64r.c: Ditto.
* libc/reent/open64r.c: Ditto.
* libc/reent/Makefile.in: Regenerated.
* libc/search/Makefile.am: Add EL/IX level checking.
* libc/search/Makefile.in: Regenerated.
* libc/stdio/Makefile.am: Add EL/IX level checking.
* libc/stdio/Makefile.in: Regenerated.
* libc/stdio64/Makefile.am: Add EL/IX level checking.
* libc/stdio64/Makefile.in: Regenerated.
* libc/stdio64/dummy.c: New file.
* libc/stdio64/fgetpos64.c: Fix so _LARGEFILE_64 macro is checked
after first include.
* libc/stdio64/fopen64.c: Ditto.
* libc/stdio64/freopen64.c: Ditto.
* libc/stdio64/fseeko64.c: Ditto.
* libc/stdio64/fsetpos64.c: Ditto.
* libc/stdio64/ftello64.c: Ditto.
* libc/stdio64/tmpfile64.c: Ditto.
* libc/stdlib/Makefile.am: Add EL/IX level checking.
* libc/stdlib/Makefile.in: Regenerated.
* libc/stdlib/mstats.c: Add EL/IX level checking.
* libc/string/Makefile.am: Ditto.
* libc/string/Makefile.in: Regenerated.
* libc/sys/linux/Makefile.am: Add EL/IX level checking.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/aclocal.m4: Ditto.
* libc/sys/linux/configure: Ditto.
* libc/sys/linux/aio.c: Add EL/IX level checking.
* libc/sys/linux/ftok.c: Ditto.
* libc/sys/linux/getdate.c: Ditto.
* libc/sys/linux/ids.c: Ditto.
* libc/sys/linux/inode.c: Ditto.
* libc/sys/linux/io.c: Ditto.
* libc/sys/linux/process.c: Ditto.
* libc/sys/linux/resource.c: Ditto.
* libc/sys/linux/sched.c: Ditto.
* libc/sys/linux/sig.c: Ditto.
* libc/sys/linux/termios.c: Ditto.
* libc/sys/linux/wait.c: Ditto plus add __waitpid and
__libc___waitpid weak aliases.
* libc/sys/linux/machine/i386/syscall.h: Add new _base macros
that generate the code for a syscall, but do not create a
weak alias.
* libc/syscalls/Makefile.am: Add EL/IX level checking.
* libc/syscalls/Makefile.in: Regenerated.
* libc/time/tzset_r.c: Change to replace strdup with equivalent
functionality.
* libc/unix/Makefile.am: Add EL/IX level checking.
* libc/unix/Makefile.in: Regenerated.
Diffstat (limited to 'newlib/libc/sys/linux/machine')
-rw-r--r-- | newlib/libc/sys/linux/machine/i386/syscall.h | 70 |
1 files changed, 50 insertions, 20 deletions
diff --git a/newlib/libc/sys/linux/machine/i386/syscall.h b/newlib/libc/sys/linux/machine/i386/syscall.h index b165f0442..380f1bcdf 100644 --- a/newlib/libc/sys/linux/machine/i386/syscall.h +++ b/newlib/libc/sys/linux/machine/i386/syscall.h @@ -68,58 +68,78 @@ __asm__ volatile ("push %%ebx; lea 8(%%ebp),%%ebx; int $0x80; pop %%ebx" \ : "=a" (ret) \ : "0" (__NR_##name)); -#undef _syscall0 -#define _syscall0(type,name) \ +#undef _syscall0_base +#define _syscall0_base(type,name) \ type __libc_##name (void) \ { \ long __res; \ __inline_syscall0(name,__res) \ __syscall_return(type,__res); \ -} \ +} + +#undef _syscall0 +#define _syscall0(type,name) \ +_syscall0_base(type,name) \ weak_alias(__libc_##name,name); -#undef _syscall1 -#define _syscall1(type,name,type1,arg1) \ +#undef _syscall1_base +#define _syscall1_base(type,name,type1,arg1) \ type __libc_##name (type1 arg1) \ { \ long __res; \ __inline_syscall1(name,__res,arg1) \ __syscall_return(type,__res); \ -} \ +} + +#undef _syscall1 +#define _syscall1(type,name,type1,arg1) \ +_syscall1_base(type,name,type1,arg1) \ weak_alias(__libc_##name,name); -#undef _syscall2 -#define _syscall2(type,name,type1,arg1,type2,arg2) \ +#undef _syscall2_base +#define _syscall2_base(type,name,type1,arg1,type2,arg2) \ type __libc_##name (type1 arg1,type2 arg2) \ { \ long __res; \ __inline_syscall2(name,__res,arg1,arg2) \ __syscall_return(type,__res); \ -} \ +} + +#undef _syscall2 +#define _syscall2(type,name,type1,arg1,type2,arg2) \ +_syscall2_base(type,name,type1,arg1,type2,arg2) \ weak_alias(__libc_##name,name); -#undef _syscall3 -#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ +#undef _syscall3_base +#define _syscall3_base(type,name,type1,arg1,type2,arg2,type3,arg3) \ type __libc_##name (type1 arg1,type2 arg2,type3 arg3) \ { \ long __res; \ __inline_syscall3(name,__res,arg1,arg2,arg3) \ __syscall_return(type,__res); \ -} \ +} + +#undef _syscall3 +#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ +_syscall3_base(type,name,type1,arg1,type2,arg2,type3,arg3) \ weak_alias(__libc_##name,name); -#undef _syscall4 -#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ +#undef _syscall4_base +#define _syscall4_base(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ type __libc_##name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ { \ long __res; \ __inline_syscall4(name,__res,arg1,arg2,arg3,arg4) \ __syscall_return(type,__res); \ -} \ +} + +#undef _syscall4 +#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ +_syscall4_base(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ weak_alias(__libc_##name,name); -#undef _syscall5 -#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ +#undef _syscall5_base +#define _syscall5_base(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ type5,arg5) \ type __libc_##name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ { \ @@ -127,17 +147,27 @@ long __res; \ __inline_syscall5(name,__res,arg1,arg2,arg3,arg4,arg5) \ __syscall_return(type,__res); \ } \ + +#undef _syscall5 +#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ + type5,arg5) \ +_syscall5_base(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \ weak_alias(__libc_##name,name); -#undef _syscall6 -#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ +#undef _syscall6_base +#define _syscall6_base(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ type5,arg5,type6,arg6) \ type __libc_##name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \ { \ long __res; \ __inline_syscall6(name,__res,arg1,arg2,arg3,arg4,arg5,arg6) \ __syscall_return(type,__res); \ -} \ +} + +#undef _syscall6 +#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ + type5,arg5,type6,arg6) \ +_syscall6_base(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6) \ weak_alias(__libc_##name,name); #endif /* __PIC__ && __i386__ */ |