diff options
author | Jack Carter <jack.carter@imgtec.com> | 2013-04-01 21:55:15 +0000 |
---|---|---|
committer | Jack Carter <jack.carter@imgtec.com> | 2013-04-01 21:55:15 +0000 |
commit | 9423f507b1541266d1d8eebed01572afc6f6f207 (patch) | |
tree | 384738e0b32ac7db5538f9ffb9575d300ed351a9 /llvm/lib/MC/MCObjectFileInfo.cpp | |
parent | bfaa63a6dbeab1e5e943b4da454ef688d02b40fe (diff) | |
download | llvm-9423f507b1541266d1d8eebed01572afc6f6f207.zip llvm-9423f507b1541266d1d8eebed01572afc6f6f207.tar.gz llvm-9423f507b1541266d1d8eebed01572afc6f6f207.tar.bz2 |
Mips direct object exception handling regression
Revision 177141 caused a regression in all but
mips64 little endian. That is because none of the
other Mips targets had test cases checking the
contents of the .eh_frame section. This patch fixes
both the llvm code and adds an assembler test case
to include the current 4 flavors.
The test cases unfortunately rely on llvm-objdump. A
preferable method would be to use a pretty printer output
such as what readelf -wf <elf_file> would give.
I also changed the name of the test case to correct a typo.
llvm-svn: 178506
Diffstat (limited to 'llvm/lib/MC/MCObjectFileInfo.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectFileInfo.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp index bafa002..0d32ad4 100644 --- a/llvm/lib/MC/MCObjectFileInfo.cpp +++ b/llvm/lib/MC/MCObjectFileInfo.cpp @@ -223,9 +223,10 @@ void MCObjectFileInfo::InitMachOMCObjectFileInfo(Triple T) { } void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) { - // FIXME: Check this. Mips64el is using the base values, which is most likely - // incorrect. - if (T.getArch() != Triple::mips64el) + if (T.getArch() != Triple::mips && + T.getArch() != Triple::mipsel && + T.getArch() != Triple::mips64 && + T.getArch() != Triple::mips64el ) FDECFIEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4; if (T.getArch() == Triple::x86) { |