GCC uses a different encoding of pointers in the FDE when using

-fno-dwarf2-cfi-asm. Implement the same behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130637 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola committed 2011-05-01 04:49:54 +00:00
1 parent c35280647b
commit 5426a9ee37
13 files changed
+76 -24

No files matched your search

+10 -3
View File
@@ -58,7 +58,7 @@ unsigned X8632_ELFTargetObjectFile::getLSDAEncoding() const {
return DW_EH_PE_absptr;
}
unsigned X8632_ELFTargetObjectFile::getFDEEncoding() const {
unsigned X8632_ELFTargetObjectFile::getFDEEncoding(bool FDE) const {
if (TM.getRelocationModel() == Reloc::PIC_)
return DW_EH_PE_pcrel | DW_EH_PE_sdata4;
else
@@ -97,8 +97,15 @@ unsigned X8664_ELFTargetObjectFile::getLSDAEncoding() const {
return DW_EH_PE_absptr;
}
unsigned X8664_ELFTargetObjectFile::getFDEEncoding() const {
return DW_EH_PE_pcrel | DW_EH_PE_sdata4;
unsigned X8664_ELFTargetObjectFile::getFDEEncoding(bool CFI) const {
if (CFI)
return DW_EH_PE_pcrel | DW_EH_PE_sdata4;
CodeModel::Model Model = TM.getCodeModel();
if (TM.getRelocationModel() == Reloc::PIC_)
return DW_EH_PE_pcrel | DW_EH_PE_sdata4;
return DW_EH_PE_udata4;
}
unsigned X8664_ELFTargetObjectFile::getTTypeEncoding() const {