about summary refs log tree commit diff
path: root/sysdeps/unix/syscall-template.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/syscall-template.S')
-rw-r--r--sysdeps/unix/syscall-template.S90
1 files changed, 0 insertions, 90 deletions
diff --git a/sysdeps/unix/syscall-template.S b/sysdeps/unix/syscall-template.S
deleted file mode 100644
index 4993ff562d..0000000000
--- a/sysdeps/unix/syscall-template.S
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Assembly code template for system call stubs.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
-   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 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* The real guts of this work are in the macros defined in the
-   machine- and kernel-specific sysdep.h header file.  When we
-   are defining a cancellable system call, the sysdep-cancel.h
-   versions of those macros are what we really use.
-
-   Each system call's object is built by a rule in sysd-syscalls
-   generated by make-syscalls.sh that #include's this file after
-   defining a few macros:
-	SYSCALL_NAME		syscall name
-	SYSCALL_NARGS		number of arguments this call takes
-	SYSCALL_SYMBOL		primary symbol name
-	SYSCALL_CANCELLABLE	1 if the call is a cancelation point
-	SYSCALL_NOERRNO		1 to define a no-errno version (see below)
-	SYSCALL_ERRVAL		1 to define an error-value version (see below)
-
-   We used to simply pipe the correct three lines below through cpp into
-   the assembler.  The main reason to have this file instead is so that
-   stub objects can be assembled with -g and get source line information
-   that leads a user back to a source file and these fine comments.  The
-   average user otherwise has a hard time knowing which "syscall-like"
-   functions in libc are plain stubs and which have nontrivial C wrappers.
-   Some versions of the "plain" stub generation macros are more than a few
-   instructions long and the untrained eye might not distinguish them from
-   some compiled code that inexplicably lacks source line information.  */
-
-#if SYSCALL_CANCELLABLE
-# include <sysdep-cancel.h>
-#else
-# include <sysdep.h>
-#endif
-
-/* This indirection is needed so that SYMBOL gets macro-expanded.  */
-#define syscall_hidden_def(SYMBOL)		hidden_def (SYMBOL)
-
-#define T_PSEUDO(SYMBOL, NAME, N)		PSEUDO (SYMBOL, NAME, N)
-#define T_PSEUDO_NOERRNO(SYMBOL, NAME, N)	PSEUDO_NOERRNO (SYMBOL, NAME, N)
-#define T_PSEUDO_ERRVAL(SYMBOL, NAME, N)	PSEUDO_ERRVAL (SYMBOL, NAME, N)
-#define T_PSEUDO_END(SYMBOL)			PSEUDO_END (SYMBOL)
-#define T_PSEUDO_END_NOERRNO(SYMBOL)		PSEUDO_END_NOERRNO (SYMBOL)
-#define T_PSEUDO_END_ERRVAL(SYMBOL)		PSEUDO_END_ERRVAL (SYMBOL)
-
-#if SYSCALL_NOERRNO
-
-/* This kind of system call stub never returns an error.
-   We return the return value register to the caller unexamined.  */
-
-T_PSEUDO_NOERRNO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
-	ret_NOERRNO
-T_PSEUDO_END_NOERRNO (SYSCALL_SYMBOL)
-
-#elif SYSCALL_ERRVAL
-
-/* This kind of system call stub returns the errno code as its return
-   value, or zero for success.  We may massage the kernel's return value
-   to meet that ABI, but we never set errno here.  */
-
-T_PSEUDO_ERRVAL (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
-	ret_ERRVAL
-T_PSEUDO_END_ERRVAL (SYSCALL_SYMBOL)
-
-#else
-
-/* This is a "normal" system call stub: if there is an error,
-   it returns -1 and sets errno.  */
-
-T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
-	ret
-T_PSEUDO_END (SYSCALL_SYMBOL)
-
-#endif
-
-syscall_hidden_def (SYSCALL_SYMBOL)