Ver código fonte

Richard Sandiford writes:
Until a few months ago, libc/sysdeps/linux/m68k/clone.S defined
__syscall_error itself. This local definition was removed in
revision 13305:

However, the clone code uses bcc.w to branch to __syscall_error.
This made sense when there was a local definition, because the
label was guaranteed to be in range. We can't guarantee that
the external definition will be in range though; it depends on
the order that the objects are linked.

This patch adjusts clone.S to use jbcc instead.

Mike Frysinger 18 anos atrás
pai
commit
ea6fbd3e76
1 arquivos alterados com 3 adições e 3 exclusões
  1. 3 3
      libc/sysdeps/linux/m68k/clone.S

+ 3 - 3
libc/sysdeps/linux/m68k/clone.S

@@ -21,11 +21,11 @@ clone:
 	movel   4(%sp), %d1             /* no NULL function pointers */
 	movel	%d1, %a0
 	tstl    %d1
-	beq.w   __syscall_error
+	jbeq    __syscall_error
 	movel   8(%sp), %d1             /* no NULL stack pointers */
 	movel	%d1, %a1
 	tstl    %d1
-	beq.w   __syscall_error
+	jbeq    __syscall_error
 
 	/* Allocate space and copy the argument onto the new stack.  */
 	movel   16(%sp), -(%a1)
@@ -50,7 +50,7 @@ clone:
 #endif
 
 	tstl    %d0
-	bmi.w   __syscall_error
+	jbmi    __syscall_error
 	beq.w   thread_start
 
 	rts