[lld] r249683 - [ELF2][mips] Support elf32ltsmip/elf32btsmip target emulation as the -m arguments
Simon Atanasyan via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 8 05:13:38 PDT 2015
Author: atanasyan
Date: Thu Oct 8 07:13:38 2015
New Revision: 249683
URL: http://llvm.org/viewvc/llvm-project?rev=249683&view=rev
Log:
[ELF2][mips] Support elf32ltsmip/elf32btsmip target emulation as the -m arguments
Modified:
lld/trunk/ELF/Driver.cpp
lld/trunk/test/elf2/emulation.s
Modified: lld/trunk/ELF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Driver.cpp?rev=249683&r1=249682&r2=249683&view=diff
==============================================================================
--- lld/trunk/ELF/Driver.cpp (original)
+++ lld/trunk/ELF/Driver.cpp Thu Oct 8 07:13:38 2015
@@ -46,6 +46,16 @@ static void setELFType(StringRef Emul) {
Config->EMachine = EM_X86_64;
return;
}
+ if (Emul == "elf32ltsmip") {
+ Config->ElfKind = ELF32LEKind;
+ Config->EMachine = EM_MIPS;
+ return;
+ }
+ if (Emul == "elf32btsmip") {
+ Config->ElfKind = ELF32BEKind;
+ Config->EMachine = EM_MIPS;
+ return;
+ }
if (Emul == "elf32ppc") {
Config->ElfKind = ELF32BEKind;
Config->EMachine = EM_PPC;
Modified: lld/trunk/test/elf2/emulation.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/emulation.s?rev=249683&r1=249682&r2=249683&view=diff
==============================================================================
--- lld/trunk/test/elf2/emulation.s (original)
+++ lld/trunk/test/elf2/emulation.s Thu Oct 8 07:13:38 2015
@@ -122,7 +122,55 @@
# PPC-NEXT: StringTableSectionIndex: 5
# PPC-NEXT: }
-# REQUIRES: x86,ppc
+# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %tmips
+# RUN: lld -flavor gnu2 -m elf32btsmip -e _start %tmips -o %t2mips
+# RUN: llvm-readobj -file-headers %t2mips | FileCheck --check-prefix=MIPS %s
+# RUN: lld -flavor gnu2 %tmips -e _start -o %t3mips
+# RUN: llvm-readobj -file-headers %t3mips | FileCheck --check-prefix=MIPS %s
+# MIPS: ElfHeader {
+# MIPS-NEXT: Ident {
+# MIPS-NEXT: Magic: (7F 45 4C 46)
+# MIPS-NEXT: Class: 32-bit (0x1)
+# MIPS-NEXT: DataEncoding: BigEndian (0x2)
+# MIPS-NEXT: FileVersion: 1
+# MIPS-NEXT: OS/ABI: SystemV (0x0)
+# MIPS-NEXT: ABIVersion: 0
+# MIPS-NEXT: Unused: (00 00 00 00 00 00 00)
+# MIPS-NEXT: }
+# MIPS-NEXT: Type: Executable (0x2)
+# MIPS-NEXT: Machine: EM_MIPS (0x8)
+# MIPS-NEXT: Version: 1
+# MIPS-NEXT: Entry: 0x11030
+# MIPS-NEXT: ProgramHeaderOffset: 0x34
+# MIPS-NEXT: SectionHeaderOffset: 0x1094
+# MIPS-NEXT: Flags [ (0x0)
+# MIPS-NEXT: ]
+
+# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux %s -o %tmipsel
+# RUN: lld -flavor gnu2 -m elf32ltsmip -e _start %tmipsel -o %t2mipsel
+# RUN: llvm-readobj -file-headers %t2mipsel | FileCheck --check-prefix=MIPSEL %s
+# RUN: lld -flavor gnu2 %tmipsel -e _start -o %t3mipsel
+# RUN: llvm-readobj -file-headers %t3mipsel | FileCheck --check-prefix=MIPSEL %s
+# MIPSEL: ElfHeader {
+# MIPSEL-NEXT: Ident {
+# MIPSEL-NEXT: Magic: (7F 45 4C 46)
+# MIPSEL-NEXT: Class: 32-bit (0x1)
+# MIPSEL-NEXT: DataEncoding: LittleEndian (0x1)
+# MIPSEL-NEXT: FileVersion: 1
+# MIPSEL-NEXT: OS/ABI: SystemV (0x0)
+# MIPSEL-NEXT: ABIVersion: 0
+# MIPSEL-NEXT: Unused: (00 00 00 00 00 00 00)
+# MIPSEL-NEXT: }
+# MIPSEL-NEXT: Type: Executable (0x2)
+# MIPSEL-NEXT: Machine: EM_MIPS (0x8)
+# MIPSEL-NEXT: Version: 1
+# MIPSEL-NEXT: Entry: 0x11030
+# MIPSEL-NEXT: ProgramHeaderOffset: 0x34
+# MIPSEL-NEXT: SectionHeaderOffset: 0x1094
+# MIPSEL-NEXT: Flags [ (0x0)
+# MIPSEL-NEXT: ]
+
+# REQUIRES: x86,ppc,mips
.globl _start;
_start:
More information about the llvm-commits
mailing list