mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-28 06:32:09 +00:00
Allow FDE references outside the +/-2GB range supported by PC relative
offsets for code models other than small/medium. For JIT application, memory layout is less controlled and can result in truncations otherwise. Patch from Akos Kiss. Differential Revision: http://reviews.llvm.org/D6079 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222538 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0889d65fd5
commit
28a626319e
@ -273,6 +273,17 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) {
|
||||
case Triple::mips64el:
|
||||
FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
|
||||
break;
|
||||
case Triple::x86_64:
|
||||
if (RelocM == Reloc::PIC_) {
|
||||
FDECFIEncoding = dwarf::DW_EH_PE_pcrel |
|
||||
((CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
|
||||
? dwarf::DW_EH_PE_sdata4 : dwarf::DW_EH_PE_sdata8);
|
||||
} else {
|
||||
FDECFIEncoding =
|
||||
(CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
|
||||
? dwarf::DW_EH_PE_udata4 : dwarf::DW_EH_PE_absptr;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
FDECFIEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user