Try to defeat the assembler optimizer. If we jump to a local label, it tries

to use a pc-relative jump. Which is definitely not what is needed in the
relocation code!
This is new in the current assembler apparantly. None of the kernels build
after my latest upgrade were able to boot... What else is lurking!
This commit is contained in:
leo 2002-05-19 20:26:58 +00:00
parent cea3466ea6
commit 5b406e9d20

View File

@ -1,4 +1,4 @@
/* $NetBSD: locore.s,v 1.86 2002/02/11 10:44:38 wiz Exp $ */
/* $NetBSD: locore.s,v 1.87 2002/05/19 20:26:58 leo Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@ -880,8 +880,12 @@ Lstart0:
jle Lstart0
/*
* Enter kernel at destination address and continue copy
* The 'start2' label is used to defeat the assembler optimizer. If
* we jump to a local label, it tries to use a pc-relative jump.
* Which is definitely not what is needed at this point!
*/
jmp Lstart2
jmp _ASM_LABEL(start2)
GLOBAL(start2)
Lstart2:
movl %a0@+,%a5@+ | copy the rest of the kernel
subl #4, %d4