diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2016-08-04 15:36:03 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2016-08-04 15:36:03 +0000 |
commit | 5dcbac57c52179c1084c3a1bcae19283b6abcdf2 (patch) | |
tree | fea8076d44d2792b02051d50eabf43c05b387bf1 /llvm/lib/MC/MCObjectFileInfo.cpp | |
parent | 9d591d15ec724bf9eb7652c980dbf936fcfef3ce (diff) | |
download | bcm5719-llvm-5dcbac57c52179c1084c3a1bcae19283b6abcdf2.tar.gz bcm5719-llvm-5dcbac57c52179c1084c3a1bcae19283b6abcdf2.zip |
[mips] Set Personality and LSDA encoding for FreeBSD
Reviewers: seanbruno, sdardis
Subscribers: tberghammer, danalbert, srhines, dsanders, sdardis, llvm-commits, seanbruno
Differential Revision: https://reviews.llvm.org/D23113
llvm-svn: 277732
Diffstat (limited to 'llvm/lib/MC/MCObjectFileInfo.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectFileInfo.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp index d05bcea14c9..bbf6123e391 100644 --- a/llvm/lib/MC/MCObjectFileInfo.cpp +++ b/llvm/lib/MC/MCObjectFileInfo.cpp @@ -395,6 +395,14 @@ void MCObjectFileInfo::initELFMCObjectFileInfo(const Triple &T) { dwarf::DW_EH_PE_sdata4; // We don't support PC-relative LSDA references in GAS so we use the default // DW_EH_PE_absptr for those. + + // FreeBSD must be explicit about the data size and using pcrel since it's + // assembler/linker won't do the automatic conversion that the Linux tools + // do. + if (T.isOSFreeBSD()) { + PersonalityEncoding |= dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4; + LSDAEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4; + } break; case Triple::ppc64: case Triple::ppc64le: |