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
This commit is contained in:
Jack Carter
2013-04-01 21:55:15 +00:00
parent 08001a5a15
commit 732f4bc7c4
4 changed files with 128 additions and 3 deletions
+4 -3
View File
@@ -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) {