summaryrefslogtreecommitdiff
path: root/virt
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2013-03-12 01:51:51 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-03-13 10:06:52 +1100
commit1674400aaee5b466c595a8fc310488263ce888c7 (patch)
tree8c0d6a0f12e9e5aa309b0e572311999d2aee0d89 /virt
parentff2d7587c7b2a1b46abc7618f45b8cc3476d8716 (diff)
powerpc: Fix -mcmodel=medium breakage in prom_init.c
Commit 5ac47f7a6efb (powerpc: Relocate prom_init.c on 64bit) made prom_init.c position independent by manually relocating its entries in the TOC. We get the address of the TOC entries with the __prom_init_toc_start linker symbol. If __prom_init_toc_start ends up as an entry in the TOC then we need to add an offset to get the current address. This is the case for older toolchains. On the other hand, if we have a newer toolchain that supports -mcmodel=medium then __prom_init_toc_start will be created by a relative offset from r2 (the TOC pointer). Since r2 has already been relocated, nothing more needs to be done. Adding an offset in this case is wrong and Aaro Koskinen and Alexander Graf have noticed noticed G5 and OpenBIOS breakage. Alan Modra suggested we just use r2 to get at the TOC which is simpler and works with both old and new toolchains. Reported-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anton Blanchard <anton@samba.org> Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions