Commit 9890ad7a by Michael Meissner

More typos

From-SVN: r9133
parent b890f297
...@@ -6,13 +6,19 @@ ...@@ -6,13 +6,19 @@
.globl __eabi .globl __eabi
.section ".got2","aw" .section ".got2","aw"
.LCTOC1 = .+32768 .LCTOC1 = . # +32768
# Table of addresses # Table of addresses
.Ltable = .-.LCTOC1 .Ltable = .-.LCTOC1
.long .Laddr # address we are really at .long .LCTOC1 # address we are really at
.Lgot = .-.LCTOC1
.long _GLOBAL_OFFSET_TABLE_ # normal GOT address .long _GLOBAL_OFFSET_TABLE_ # normal GOT address
.Lgot2s = .-.LCTOC1
.long _GOT2_START_ # -mrelocatable GOT pointers start .long _GOT2_START_ # -mrelocatable GOT pointers start
.Lgot2e = .-.LCTOC1
.long _GOT2_END_ # -mrelocatable GOT pointers end .long _GOT2_END_ # -mrelocatable GOT pointers end
.text .text
...@@ -21,16 +27,17 @@ ...@@ -21,16 +27,17 @@
__eabi: mflr 0 __eabi: mflr 0
bl .Laddr # get current address bl .Laddr # get current address
.Laddr: mflr 11 # real address of .Ltable .Laddr: mflr 12 # real address of .Laddr
lwz 12,(.Lptr-.Laddr)(11) # linker generated address of .Ltable lwz 11,(.Lptr-.Laddr)(12) # linker generated address of .LCTOC1
add 12,12,11 # correct to real pointer add 11,11,12 # correct to real pointer
lwz 12,.Ltable(11) # get linker's idea of where .Laddr is
subf. 12,12,11 # calculate difference subf. 12,12,11 # calculate difference
bc 4,2,.Lreloc # skip if we need to relocate bc 4,2,.Lreloc # skip if we need to relocate
# Normal program, load up register 2 # Normal program, load up register 2
mtlr 0 # restore link register mtlr 0 # restore link register
lwz 2,4(11) # normal GOT address lwz 2,.Lgot(11) # normal GOT address
blr blr
# We need to relocate the .got2 pointers. Don't load register 2 # We need to relocate the .got2 pointers. Don't load register 2
...@@ -38,8 +45,8 @@ __eabi: mflr 0 ...@@ -38,8 +45,8 @@ __eabi: mflr 0
.Lreloc: .Lreloc:
stwu 30,-4(1) stwu 30,-4(1)
stwu 31,-4(1) stwu 31,-4(1)
lwz 30,8(11) # GOT pointers start lwz 30,.Lgot2s(11) # GOT pointers start
lwz 31,12(11) # GOT pointers end lwz 31,.Lgot2e(11) # GOT pointers end
add 30,12,30 # adjust pointers add 30,12,30 # adjust pointers
add 31,12,31 add 31,12,31
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment