Adapt to new ___start definition.

Use PIC method to load %r13 with address of _SDA_BASE_
This commit is contained in:
matt 2011-06-30 20:10:17 +00:00
parent 4cbd24b23f
commit d8b68e8316

View File

@ -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)