aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Eric Andersen <andersen@codepoet.org>2007-02-02 02:24:29 +0000
committerGravatar Eric Andersen <andersen@codepoet.org>2007-02-02 02:24:29 +0000
commit52a3269c2cfac828db10a2aa1aa3b9b3118fa9a4 (patch)
tree6e27843ffb1fb4d2fc3fa973b50e8bcd63744411
parent9056025f8498652fffa9a76548946d58abbe22ae (diff)
downloaduClibc-52a3269c2cfac828db10a2aa1aa3b9b3118fa9a4.tar.gz
uClibc-52a3269c2cfac828db10a2aa1aa3b9b3118fa9a4.tar.bz2
As with uClibc trunk, note that the _syscall#() macros are for uClibc internal
use only. User application code should use syscall() instead.
-rw-r--r--Makefile2
-rw-r--r--include/sys/syscall.h32
2 files changed, 24 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index 1f7431798..c87097c00 100644
--- a/Makefile
+++ b/Makefile
@@ -165,6 +165,8 @@ install_dev:
fi ; \
tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
| tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
+ echo '/* Dont use _syscall#() macros; use the syscall() function */' > \
+ $(PREFIX)$(DEVEL_PREFIX)include/bits/syscalls.h
ifneq ($(strip $(UCLIBC_HAS_FLOATS)),y)
# Remove floating point related headers since float support is disabled.
$(RM) $(PREFIX)$(DEVEL_PREFIX)include/complex.h
diff --git a/include/sys/syscall.h b/include/sys/syscall.h
index 788468180..e98ffabb6 100644
--- a/include/sys/syscall.h
+++ b/include/sys/syscall.h
@@ -2,24 +2,36 @@
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
+ Lesser General Public License for more details.
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
#ifndef _SYSCALL_H
#define _SYSCALL_H 1
-/* This file provides us with the nicely useful _syscall[0-5] macros. */
-#include <bits/syscalls.h>
+/* The _syscall#() macros are for uClibc internal use only.
+ * User application code should use syscall() instead.
+ *
+ * The kernel provided _syscall[0-6] macros from asm/unistd.h are not suitable
+ * for use in uClibc as they lack PIC support etc, so for uClibc we use our own
+ * local _syscall# macros to be certain all such variations are handled
+ * properly.
+ */
+
+#include <features.h>
+#include <bits/sysnum.h>
+#if defined _LIBC
+# include <bits/syscalls.h>
+#endif
#endif