summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2008-12-10 21:58:11 +0100
committerNeal H. Walfield <neal@gnu.org>2008-12-10 21:58:11 +0100
commit2391ba1f5a2015ba2c6989befc9cb5e015c99635 (patch)
treeeff38881021ed813c92ebf7573142207de68c5cf
parent54b1dbf6e5e6f3d738e4418d4add334b84f14e0e (diff)
Only use libc-parts' setjmp implementation in the kernel.
2008-12-10 Neal H. Walfield <neal@gnu.org> * setjmp.h [!RM_INTERN]: Just #include_next <setjmp.h>. * Makefile.am (ARCH_COMMON_SOURCES): Remove ia32-setjmp.S. (ARCH_KERNEL_SOURCES): Add ia32-setjmp.S. (libc_kernel_a_SOURCES): Add setjmp.h.
-rw-r--r--libc-parts/ChangeLog7
-rw-r--r--libc-parts/Makefile.am5
-rw-r--r--libc-parts/setjmp.h8
3 files changed, 18 insertions, 2 deletions
diff --git a/libc-parts/ChangeLog b/libc-parts/ChangeLog
index 692ea9f..2ab166d 100644
--- a/libc-parts/ChangeLog
+++ b/libc-parts/ChangeLog
@@ -1,3 +1,10 @@
+2008-12-10 Neal H. Walfield <neal@gnu.org>
+
+ * setjmp.h [!RM_INTERN]: Just #include_next <setjmp.h>.
+ * Makefile.am (ARCH_COMMON_SOURCES): Remove ia32-setjmp.S.
+ (ARCH_KERNEL_SOURCES): Add ia32-setjmp.S.
+ (libc_kernel_a_SOURCES): Add setjmp.h.
+
2008-11-18 Neal H. Walfield <neal@gnu.org>
* profile.h (profile_start): Take additional parameter name2.
diff --git a/libc-parts/Makefile.am b/libc-parts/Makefile.am
index 73d6514..7be889a 100644
--- a/libc-parts/Makefile.am
+++ b/libc-parts/Makefile.am
@@ -19,9 +19,9 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
if ARCH_IA32
- ARCH_COMMON_SOURCES = ia32-setjmp.S
+ ARCH_COMMON_SOURCES =
ARCH_USER_SOURCES = ia32-cmain.c ia32-crt0.S
- ARCH_KERNEL_SOURCES =
+ ARCH_KERNEL_SOURCES = ia32-setjmp.S
endif
if ! ENABLE_TESTS
@@ -50,6 +50,7 @@ libc_kernel_a_CFLAGS = $(KERNEL_CFLAGS)
libc_kernel_a_SOURCES = \
$(ARCH_COMMON_SOURCES) $(ARCH_KERNEL_SOURCES) \
errno.h errno.c \
+ setjmp.h \
$(common_sources)
TESTS = t-setjmp
diff --git a/libc-parts/setjmp.h b/libc-parts/setjmp.h
index 8a0f049..445bd85 100644
--- a/libc-parts/setjmp.h
+++ b/libc-parts/setjmp.h
@@ -22,6 +22,8 @@
#ifndef _SETJMP_H
#define _SETJMP_H 1
+#ifdef RM_INTERN
+
#include <stdint.h>
struct jmp_buf
@@ -36,4 +38,10 @@ typedef struct jmp_buf jmp_buf[1];
void _longjmp(jmp_buf env, int val) __attribute__ ((noreturn));
int _setjmp(jmp_buf env) __attribute__ ((returns_twice));
+#else
+
+#include_next <setjmp.h>
+
+#endif
+
#endif