Module Name:    src
Committed By:   matt
Date:           Thu Jun 30 20:10:17 UTC 2011

Modified Files:
        src/lib/csu/arch/powerpc: crt0.S

Log Message:
Adapt to new ___start definition.
Use PIC method to load %r13 with address of _SDA_BASE_


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/csu/arch/powerpc/crt0.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/csu/arch/powerpc/crt0.S
diff -u src/lib/csu/arch/powerpc/crt0.S:1.1 src/lib/csu/arch/powerpc/crt0.S:1.2
--- src/lib/csu/arch/powerpc/crt0.S:1.1	Tue Feb  8 02:02:25 2011
+++ src/lib/csu/arch/powerpc/crt0.S	Thu Jun 30 20:10:17 2011
@@ -29,21 +29,23 @@
 
 #include <powerpc/asm.h>
 
-RCSID("$NetBSD: crt0.S,v 1.1 2011/02/08 02:02:25 matt Exp $")
+RCSID("$NetBSD: crt0.S,v 1.2 2011/06/30 20:10:17 matt Exp $")
 
 STRONG_ALIAS(_start,__start)
 
 	.weak	_SDA_BASE_
-	.weak	_SDA_BASE2_
 
 ENTRY_NOPROFILE(__start)
+	bcl	20,31,1f
+1:
+	mflr	%r11
 	/* SVR4 ABI says small data is in r13 */
-	lis	%r13,_SDA_BASE_@ha
-	addi	%r13,%r13,_SDA_BASE_@l
+	addis	%r13,%r11,_SDA_BASE_-1b@ha
+	addi	%r13,%r13,_SDA_BASE_-1b@l
 
-	/* E[mbedded] ABI says small data is in r2 */
-	lis	%r2,_SDA_BASE2_@ha
-	addi	%r2,%r2,_SDA_BASE2_@l
+	mr	%r3,%r6
+	mr	%r4,%r7
+	mr	%r5,%r8
 
 	b	___start
 END(__start)

Reply via email to