summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/e1
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/e1')
-rw-r--r--libc/sysdeps/linux/e1/bits/uClibc_arch_features.h42
-rw-r--r--libc/sysdeps/linux/e1/longjmp.c13
-rw-r--r--libc/sysdeps/linux/e1/setjmp.c4
-rw-r--r--libc/sysdeps/linux/e1/vfork.c12
4 files changed, 65 insertions, 6 deletions
diff --git a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
new file mode 100644
index 000000000..ff0e20fad
--- /dev/null
+++ b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
@@ -0,0 +1,42 @@
+/*
+ * Track misc arch-specific features that aren't config options
+ */
+
+#ifndef _BITS_UCLIBC_ARCH_FEATURES_H
+#define _BITS_UCLIBC_ARCH_FEATURES_H
+
+/* instruction used when calling abort() to kill yourself */
+/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/
+#undef __UCLIBC_ABORT_INSTRUCTION__
+
+/* can your target use syscall6() for mmap ? */
+#undef __UCLIBC_MMAP_HAS_6_ARGS__
+
+/* does your target use syscall4() for truncate64 ? (32bit arches only) */
+#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__
+
+/* does your target have a broken create_module() ? */
+#undef __UCLIBC_BROKEN_CREATE_MODULE__
+
+/* does your target prefix all symbols with an _ ? */
+#define __UCLIBC_NO_UNDERSCORES__
+
+/* does your target have an asm .set ? */
+#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
+
+/* define if target doesn't like .global */
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+/* define if target supports .weak */
+#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
+
+/* define if target supports .weakext */
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+/* needed probably only for ppc64 */
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+/* define if target supports IEEE signed zero floats */
+#define __UCLIBC_HAVE_SIGNED_ZERO__
+
+#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/e1/longjmp.c b/libc/sysdeps/linux/e1/longjmp.c
index 89d6b76d9..e628bd7e0 100644
--- a/libc/sysdeps/linux/e1/longjmp.c
+++ b/libc/sysdeps/linux/e1/longjmp.c
@@ -1,6 +1,9 @@
-/* This file is lisenced under LGPL
- * Copyright (C) 2002-2003, George Thanos <george.thanos@gdt.gr>
- * Yannis Mitsos <yannis.mitsos@gdt.gr>
+/*
+ * Copyright (C) 2002-2003, George Thanos <george.thanos@gdt.gr>
+ * Yannis Mitsos <yannis.mitsos@gdt.gr>
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
#include <syscall.h>
@@ -40,10 +43,12 @@ void longjmp(jmp_buf state, int value )
#undef _state_
}
+libc_hidden_proto(sigprocmask)
+
void siglongjmp(sigjmp_buf state, int value )
{
if( state->__mask_was_saved )
- __sigprocmask(SIG_SETMASK, &state->__saved_mask, NULL);
+ sigprocmask(SIG_SETMASK, &state->__saved_mask, NULL);
if(!value)
state->__jmpbuf->ReturnValue = 1;
diff --git a/libc/sysdeps/linux/e1/setjmp.c b/libc/sysdeps/linux/e1/setjmp.c
index 502e89b22..750c4e08e 100644
--- a/libc/sysdeps/linux/e1/setjmp.c
+++ b/libc/sysdeps/linux/e1/setjmp.c
@@ -7,6 +7,8 @@
#include <stdio.h>
#include <signal.h>
+libc_hidden_proto(sigprocmask)
+
int setjmp( jmp_buf state)
{
asm volatile( "mov %0, G3\n\t"
@@ -32,7 +34,7 @@ int sigsetjmp( sigjmp_buf state , int savesigs)
if(savesigs) {
state->__mask_was_saved = 1;
/* how arg in <sigprocmask> is not significant */
- __sigprocmask(SIG_SETMASK, NULL, &state->__saved_mask);
+ sigprocmask(SIG_SETMASK, NULL, &state->__saved_mask);
} else
state->__mask_was_saved = 0;
diff --git a/libc/sysdeps/linux/e1/vfork.c b/libc/sysdeps/linux/e1/vfork.c
index ec9961d62..34ae5833c 100644
--- a/libc/sysdeps/linux/e1/vfork.c
+++ b/libc/sysdeps/linux/e1/vfork.c
@@ -1,5 +1,15 @@
+/*
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
#include <sys/types.h>
#include <sys/syscall.h>
#include <errno.h>
-_syscall0(pid_t, vfork);
+#define __NR___vfork __NR_vfork
+attribute_hidden _syscall0(pid_t, __vfork);
+libc_hidden_proto(vfork)
+weak_alias(__vfork,vfork)
+libc_hidden_weak(vfork)