Relocations are required for unconditional branches to function symbols with
different execution mode. Without this patch, incorrect branches are
generated for tail calls between functions with different execution
mode.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
With this change, only 4 tests fail with an ARM bootstrap build with a version of clang that randomly adds +thumb-mode. The failures seem unrelated to Thumb mode
LLVM-Unit :: DebugInfo/DWARF/DebugInfoDWARFTests/DWARFDebugInfo.TestDwarfVerifyInvalidCURef LLVM-Unit :: DebugInfo/DWARF/DebugInfoDWARFTests/DWARFDebugInfo.TestDwarfVerifyInvalidLineFileIndex LLVM-Unit :: DebugInfo/DWARF/DebugInfoDWARFTests/DWARFDebugInfo.TestDwarfVerifyInvalidLineSequence LLVM-Unit :: DebugInfo/DWARF/DebugInfoDWARFTests/DWARFDebugInfo.TestDwarfVerifyInvalidStmtList LLVM :: Bindings/Go/go.test
That's down from a couple of thousand failures without this patch!
Comment Actions
I'm happy with these changes. Again, will be worth seeing if there are any objections from later time zones before committing.