aboutsummaryrefslogtreecommitdiffstats
path: root/lib/MC/MCObjectFileInfo.cpp
diff options
context:
space:
mode:
authorJack Carter <jack.carter@imgtec.com>2013-04-01 21:55:15 +0000
committerJack Carter <jack.carter@imgtec.com>2013-04-01 21:55:15 +0000
commit732f4bc7c4baa7546b0942f69562d4fb3f474999 (patch)
tree50cae07d92622a82527327e98a94a24c57d3db2a /lib/MC/MCObjectFileInfo.cpp
parent08001a5a1565adb8ce18b97537dd75075992d09a (diff)
downloadexternal_llvm-732f4bc7c4baa7546b0942f69562d4fb3f474999.zip
external_llvm-732f4bc7c4baa7546b0942f69562d4fb3f474999.tar.gz
external_llvm-732f4bc7c4baa7546b0942f69562d4fb3f474999.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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178506 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCObjectFileInfo.cpp')
-rw-r--r--lib/MC/MCObjectFileInfo.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/MC/MCObjectFileInfo.cpp b/lib/MC/MCObjectFileInfo.cpp
index bafa002..0d32ad4 100644
--- a/lib/MC/MCObjectFileInfo.cpp
+++ b/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) {