# Same things for in6addr_loopback and mktime - found in libc. For these two we
 # only get link-time error, luckily.
 #
+# -Dlongjmp=kernel_longjmp prevents anything from referencing the libpthread.a
+# embedded copy of longjmp, same thing for setjmp.
+#
 # These apply to USER_CFLAGS to.
 
 KBUILD_CFLAGS += $(CFLAGS) $(CFLAGS-y) -D__arch_um__ \
        $(ARCH_INCLUDE) $(MODE_INCLUDE) -Dvmap=kernel_vmap      \
+       -Dlongjmp=kernel_longjmp -Dsetjmp=kernel_setjmp \
        -Din6addr_loopback=kernel_in6addr_loopback \
        -Din6addr_any=kernel_in6addr_any -Dstrrchr=kernel_strrchr
 
 
 
        .text
        .align 4
-       .globl setjmp
-       .type setjmp, @function
-setjmp:
+       .globl kernel_setjmp
+       .type kernel_setjmp, @function
+kernel_setjmp:
 #ifdef _REGPARM
        movl %eax,%edx
 #else
        movl %ecx,20(%edx)              # Return address
        ret
 
-       .size setjmp,.-setjmp
+       .size kernel_setjmp,.-kernel_setjmp
 
        .text
        .align 4
-       .globl longjmp
-       .type longjmp, @function
-longjmp:
+       .globl kernel_longjmp
+       .type kernel_longjmp, @function
+kernel_longjmp:
 #ifdef _REGPARM
        xchgl %eax,%edx
 #else
        movl 16(%edx),%edi
        jmp *20(%edx)
 
-       .size longjmp,.-longjmp
+       .size kernel_longjmp,.-kernel_longjmp
 
 
        .text
        .align 4
-       .globl setjmp
-       .type setjmp, @function
-setjmp:
+       .globl kernel_setjmp
+       .type kernel_setjmp, @function
+kernel_setjmp:
        pop  %rsi                       # Return address, and adjust the stack
        xorl %eax,%eax                  # Return value
        movq %rbx,(%rdi)
        movq %rsi,56(%rdi)              # Return address
        ret
 
-       .size setjmp,.-setjmp
+       .size kernel_setjmp,.-kernel_setjmp
 
        .text
        .align 4
-       .globl longjmp
-       .type longjmp, @function
-longjmp:
+       .globl kernel_longjmp
+       .type kernel_longjmp, @function
+kernel_longjmp:
        movl %esi,%eax                  # Return value (int)
        movq (%rdi),%rbx
        movq 8(%rdi),%rsp
        movq 48(%rdi),%r15
        jmp *56(%rdi)
 
-       .size longjmp,.-longjmp
+       .size kernel_longjmp,.-kernel_longjmp