Browse Source

Fix/simplify longjmp. Fix toplevel mips settings

Eric Andersen 23 years ago
parent
commit
2ad28ec7a7
2 changed files with 8 additions and 5 deletions
  1. 2 0
      Makefile
  2. 6 5
      libc/sysdeps/linux/common/longjmp.c

+ 2 - 0
Makefile

@@ -69,6 +69,8 @@ headers: dummy
 	    ln -fs $(KERNEL_SOURCE)/include/asm-ppc include/asm; \
 	    ln -fs $(KERNEL_SOURCE)/include/asm-ppc include/asm; \
 	elif [ $(TARGET_ARCH) = "v850" ];then \
 	elif [ $(TARGET_ARCH) = "v850" ];then \
 	    ln -fs $(KERNEL_SOURCE)/include/asm-v850 include/asm; \
 	    ln -fs $(KERNEL_SOURCE)/include/asm-v850 include/asm; \
+	elif [ $(TARGET_ARCH) = "mipsel" ];then \
+	    ln -fs $(KERNEL_SOURCE)/include/asm-mips include/asm; \
 	else \
 	else \
 	    if [ $(HAS_MMU) != "true" ]; then \
 	    if [ $(HAS_MMU) != "true" ]; then \
 			ln -fs $(KERNEL_SOURCE)/include/asm-$(TARGET_ARCH)nommu include/asm;\
 			ln -fs $(KERNEL_SOURCE)/include/asm-$(TARGET_ARCH)nommu include/asm;\

+ 6 - 5
libc/sysdeps/linux/common/longjmp.c

@@ -21,10 +21,13 @@
 #include <signal.h>
 #include <signal.h>
 
 
 
 
+extern void __longjmp (__jmp_buf __env, int val);
+
+
 /* Set the signal mask to the one specified in ENV, and jump
 /* Set the signal mask to the one specified in ENV, and jump
    to the position specified in ENV, causing the setjmp
    to the position specified in ENV, causing the setjmp
    call there to return VAL, or 1 if VAL is 0.  */
    call there to return VAL, or 1 if VAL is 0.  */
-void __libc_siglongjmp (sigjmp_buf env, int val)
+void longjmp (sigjmp_buf env, int val)
 {
 {
 #if 0
 #if 0
   /* Perform any cleanups needed by the frames being unwound.  */
   /* Perform any cleanups needed by the frames being unwound.  */
@@ -40,7 +43,5 @@ void __libc_siglongjmp (sigjmp_buf env, int val)
   __longjmp (env[0].__jmpbuf, val ?: 1);
   __longjmp (env[0].__jmpbuf, val ?: 1);
 }
 }
 
 
-strong_alias (__libc_siglongjmp, __libc_longjmp)
-weak_alias (__libc_siglongjmp, _longjmp)
-weak_alias (__libc_siglongjmp, longjmp)
-weak_alias (__libc_siglongjmp, siglongjmp)
+weak_alias (longjmp, _longjmp)
+weak_alias (longjmp, siglongjmp)