Эх сурвалжийг харах

Fix/simplify longjmp. Fix toplevel mips settings

Eric Andersen 23 жил өмнө
parent
commit
2ad28ec7a7

+ 2 - 0
Makefile

@@ -69,6 +69,8 @@ headers: dummy
 	    ln -fs $(KERNEL_SOURCE)/include/asm-ppc include/asm; \
 	elif [ $(TARGET_ARCH) = "v850" ];then \
 	    ln -fs $(KERNEL_SOURCE)/include/asm-v850 include/asm; \
+	elif [ $(TARGET_ARCH) = "mipsel" ];then \
+	    ln -fs $(KERNEL_SOURCE)/include/asm-mips include/asm; \
 	else \
 	    if [ $(HAS_MMU) != "true" ]; then \
 			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>
 
 
+extern void __longjmp (__jmp_buf __env, int val);
+
+
 /* Set the signal mask to the one specified in ENV, and jump
    to the position specified in ENV, causing the setjmp
    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
   /* 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);
 }
 
-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)