if (MaxAlignment >= 4)
return new ELFObjectFile<ELFType<support::little, 4, false> >(Object, ec);
if (MaxAlignment >= 4)
return new ELFObjectFile<ELFType<support::little, 4, false> >(Object, ec);
return new ELFObjectFile<ELFType<support::little, 2, false> >(Object, ec);
else
llvm_unreachable("Invalid alignment for ELF file!");
else if (Ident.first == ELF::ELFCLASS32 && Ident.second == ELF::ELFDATA2MSB)
return new ELFObjectFile<ELFType<support::little, 2, false> >(Object, ec);
else
llvm_unreachable("Invalid alignment for ELF file!");
else if (Ident.first == ELF::ELFCLASS32 && Ident.second == ELF::ELFDATA2MSB)
if (MaxAlignment >= 4)
return new ELFObjectFile<ELFType<support::big, 4, false> >(Object, ec);
if (MaxAlignment >= 4)
return new ELFObjectFile<ELFType<support::big, 4, false> >(Object, ec);
return new ELFObjectFile<ELFType<support::big, 2, false> >(Object, ec);
else
llvm_unreachable("Invalid alignment for ELF file!");
else if (Ident.first == ELF::ELFCLASS64 && Ident.second == ELF::ELFDATA2MSB)
return new ELFObjectFile<ELFType<support::big, 2, false> >(Object, ec);
else
llvm_unreachable("Invalid alignment for ELF file!");
else if (Ident.first == ELF::ELFCLASS64 && Ident.second == ELF::ELFDATA2MSB)
if (MaxAlignment >= 8)
return new ELFObjectFile<ELFType<support::big, 8, true> >(Object, ec);
if (MaxAlignment >= 8)
return new ELFObjectFile<ELFType<support::big, 8, true> >(Object, ec);
return new ELFObjectFile<ELFType<support::big, 2, true> >(Object, ec);
else
llvm_unreachable("Invalid alignment for ELF file!");
else if (Ident.first == ELF::ELFCLASS64 && Ident.second == ELF::ELFDATA2LSB) {
return new ELFObjectFile<ELFType<support::big, 2, true> >(Object, ec);
else
llvm_unreachable("Invalid alignment for ELF file!");
else if (Ident.first == ELF::ELFCLASS64 && Ident.second == ELF::ELFDATA2LSB) {
if (MaxAlignment >= 8)
return new ELFObjectFile<ELFType<support::little, 8, true> >(Object, ec);
if (MaxAlignment >= 8)
return new ELFObjectFile<ELFType<support::little, 8, true> >(Object, ec);
return new ELFObjectFile<ELFType<support::little, 2, true> >(Object, ec);
else
llvm_unreachable("Invalid alignment for ELF file!");
return new ELFObjectFile<ELFType<support::little, 2, true> >(Object, ec);
else
llvm_unreachable("Invalid alignment for ELF file!");