[PATCH 2/8] bootwrapper: missing relocation in crt0.S

Paul Mackerras paulus at samba.org
Fri Mar 23 16:25:26 EST 2007


Milton Miller writes:

> crt0.S had provisions to provide run address relocaton to got2 and
> cache flush, but not on the bss clear or stack pointer load.  Apply
> the same fixup for them.
> 
> Signed-off-by: Milton Miller <miltonm at bga.com>
> --- 
> Compiles and links.  Stack is created within the image when linked at
> 4M and run at 0.  Did not verify bss relocation.
> 
> Index: kernel/arch/powerpc/boot/crt0.S
> ===================================================================
> --- kernel.orig/arch/powerpc/boot/crt0.S	2007-03-16 23:22:00.000000000 -0500
> +++ kernel/arch/powerpc/boot/crt0.S	2007-03-16 23:42:42.000000000 -0500
> @@ -63,21 +63,30 @@ _zimage_start:
>  	/* Clear the BSS */
>  	lis	r9,__bss_start at ha
>  	addi	r9,r9,__bss_start at l
> +	add	r9,r0,r9
>  	lis	r8,_end at ha
>  	addi	r8,r8,_end at l
> +	add	r8,r0,r8
>  	li	r0,0
>  5:	stw	r0,0(r9)

How about changing the last two instructions here to use r10 instead
of r0 so we don't need to recreate the relocation offset?

Paul.



More information about the Linuxppc-dev mailing list