ソースを参照

Fix/simplify longjmp. Fix toplevel mips settings

Eric Andersen 24 年 前
コミット
2ad28ec7a7
2 ファイル変更8 行追加5 行削除
  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)