summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h28
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h25
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sysdep.h19
3 files changed, 23 insertions, 49 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
index 3424598566..3a1b35909c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
@@ -20,7 +20,7 @@
#ifndef _LINUX_SPARC32_SYSDEP_H
#define _LINUX_SPARC32_SYSDEP_H 1
-#include <sysdeps/unix/sparc/sysdep.h>
+#include <sysdeps/unix/sysv/linux/sparc/sysdep.h>
#ifdef IS_IN_rtld
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
@@ -34,28 +34,7 @@
#define LOADSYSCALL(x) mov __NR_##x, %g1
-/* Linux/SPARC uses a different trap number */
#undef PSEUDO
-#undef PSEUDO_NOERRNO
-#undef PSEUDO_ERRVAL
-#undef PSEUDO_END
-#undef ENTRY
-#undef END
-#undef LOC
-
-#define ENTRY(name) \
- .align 4; \
- .global C_SYMBOL_NAME(name); \
- .type name, @function; \
-C_LABEL(name) \
- cfi_startproc;
-
-#define END(name) \
- cfi_endproc; \
- .size name, . - name
-
-#define LOC(name) .L##name
-
#define PSEUDO(name, syscall_name, args) \
.text; \
ENTRY(name); \
@@ -66,18 +45,21 @@ ENTRY(name); \
SYSCALL_ERROR_HANDLER \
1:
+#undef PSEUDO_NOERRNO
#define PSEUDO_NOERRNO(name, syscall_name, args)\
.text; \
ENTRY(name); \
LOADSYSCALL(syscall_name); \
ta 0x10;
+#undef PSEUDO_ERRVAL
#define PSEUDO_ERRVAL(name, syscall_name, args) \
.text; \
ENTRY(name); \
LOADSYSCALL(syscall_name); \
ta 0x10;
+#undef PSEUDO_END
#define PSEUDO_END(name) \
END(name)
@@ -141,8 +123,6 @@ ENTRY(name); \
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \
"cc", "memory"
-#include <sysdeps/unix/sysv/linux/sparc/sysdep.h>
-
#endif /* __ASSEMBLER__ */
/* Pointer mangling support. */
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
index 1bf75973fc..214ab5b257 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
@@ -20,7 +20,7 @@
#ifndef _LINUX_SPARC64_SYSDEP_H
#define _LINUX_SPARC64_SYSDEP_H 1
-#include <sysdeps/unix/sparc/sysdep.h>
+#include <sysdeps/unix/sysv/linux/sparc/sysdep.h>
#ifdef IS_IN_rtld
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
@@ -44,25 +44,7 @@
#define LOADSYSCALL(x) mov __NR_##x, %g1
-/* Linux/SPARC uses a different trap number */
#undef PSEUDO
-#undef PSEUDO_NOERRNO
-#undef PSEUDO_ERRVAL
-#undef PSEUDO_END
-#undef ENTRY
-#undef END
-
-#define ENTRY(name) \
- .align 4; \
- .global C_SYMBOL_NAME(name); \
- .type name, @function; \
-C_LABEL(name) \
- cfi_startproc;
-
-#define END(name) \
- cfi_endproc; \
- .size name, . - name
-
#define PSEUDO(name, syscall_name, args) \
.text; \
ENTRY(name); \
@@ -73,18 +55,21 @@ ENTRY(name); \
SYSCALL_ERROR_HANDLER \
1:
+#undef PSEUDO_NOERRNO
#define PSEUDO_NOERRNO(name, syscall_name, args)\
.text; \
ENTRY(name); \
LOADSYSCALL(syscall_name); \
ta 0x6d;
+#undef PSEUDO_ERRVAL
#define PSEUDO_ERRVAL(name, syscall_name, args) \
.text; \
ENTRY(name); \
LOADSYSCALL(syscall_name); \
ta 0x6d;
+#undef PSEUDO_END
#define PSEUDO_END(name) \
END(name)
@@ -149,8 +134,6 @@ ENTRY(name); \
"f48", "f50", "f52", "f54", "f56", "f58", "f60", "f62", \
"cc", "memory"
-#include <sysdeps/unix/sysv/linux/sparc/sysdep.h>
-
#endif /* __ASSEMBLER__ */
/* This is the offset from the %sp to the backing store above the
diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h
index fc955c236c..a8cd82a70b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sysdep.h
+++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h
@@ -19,6 +19,20 @@
#ifndef _LINUX_SPARC_SYSDEP_H
#define _LINUX_SPARC_SYSDEP_H 1
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/sparc/sysdep.h>
+
+#ifdef __ASSEMBLER__
+
+#define ret retl; nop
+#define ret_NOERRNO retl; nop
+#define ret_ERRVAL retl; nop
+#define r0 %o0
+#define r1 %o1
+#define MOVE(x,y) mov x, y
+
+#else /* __ASSEMBLER__ */
+
#undef INLINE_SYSCALL
#define INLINE_SYSCALL(name, nr, args...) \
({ INTERNAL_SYSCALL_DECL(err); \
@@ -165,9 +179,6 @@
__o0; \
})
-
-#ifdef __ASSEMBLER__
-# define JUMPTARGET(sym) sym
-#endif
+#endif /* __ASSEMBLER__ */
#endif /* _LINUX_SPARC_SYSDEP_H */