[llvm-bugs] [Bug 27128] New: PowerPC64: jump tables cause failure during early Linux boot
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Mar 30 02:14:56 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=27128
Bug ID: 27128
Summary: PowerPC64: jump tables cause failure during early
Linux boot
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: PowerPC
Assignee: unassignedbugs at nondot.org
Reporter: anton at samba.org
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
A recent patch to more aggressively use jump tables ([Codegen]
Decrease minimum jump table density) has shown up an issue when using
llvm to build the PowerPC64 Linux kernel.
The kernel spends a short amount of time in early boot running at a non zero
offset. We do this by relocating everything in the TOC, then undoing that when
we copy ourselves down to 0.
We don't have an issue with jump tables on gcc because they use 32bit offsets
which get added to a base address. On llvm they are 64bit addresses. Looking
closer, it looks like llvm emits similar code to gcc when using the -fpic flag.
We've avoided the complexity and overhead of building a completely relocatable
image so far, perhaps we need to revisit that.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160330/7675956b/attachment.html>
More information about the llvm-bugs
mailing list