summaryrefslogtreecommitdiff
path: root/include/ppc_asm.tmpl
diff options
context:
space:
mode:
authorJoakim Tjernlund <Joakim.Tjernlund@transmode.se>2010-01-19 14:41:56 +0100
committerWolfgang Denk <wd@denx.de>2010-01-26 19:30:13 +0100
commit0f8aa159175385ddd77bc91d11b9568583fbbd0c (patch)
tree5f2bd327b499525805cb7672eb7fca600ea5376e /include/ppc_asm.tmpl
parentfc4e188789b01dc9f18c80869c43fdd7d1a51378 (diff)
ppc: Use r12 instead of r14 as GOT pointer.
r14 is not supposed to be clobbered by functions. Switch to r12 and call GET_GOT when needed. This will allow u-boot to loose the -ffixed-r14 gcc option. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Diffstat (limited to 'include/ppc_asm.tmpl')
-rw-r--r--include/ppc_asm.tmpl8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/ppc_asm.tmpl b/include/ppc_asm.tmpl
index fa5c5f66c1c..84de146e5dd 100644
--- a/include/ppc_asm.tmpl
+++ b/include/ppc_asm.tmpl
@@ -50,13 +50,13 @@
.text 2 ; \
0: .long .LCTOC1-1f ; \
.text ; \
-1: mflr r14 ; \
- lwz r0,0b-1b(r14) ; \
- add r14,r0,r14 ;
+1: mflr r12 ; \
+ lwz r0,0b-1b(r12) ; \
+ add r12,r0,r12 ;
#define GOT_ENTRY(NAME) .L_ ## NAME = . - .LCTOC1 ; .long NAME
-#define GOT(NAME) .L_ ## NAME (r14)
+#define GOT(NAME) .L_ ## NAME (r12)
/***************************************************************************