Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2002-08-26 22:56:09 +0400
committerJeff Johnston <jjohnstn@redhat.com>2002-08-26 22:56:09 +0400
commit90b65e2d06b900f3d282515d2d0f7113a56eca99 (patch)
tree5a624046078a7d6cdab38a41210143de1ea52a48 /newlib/libc/sys/linux/machine/i386
parent874ab2d639a959d5f51839d4d315b2f2738cf359 (diff)
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/i386')
-rw-r--r--newlib/libc/sys/linux/machine/i386/syscall.h70
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__ */