diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp index 2756d6526fe1..e256156dc962 100644 --- a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp +++ b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp @@ -67,5 +67,5 @@ llvm::createRISCVELFObjectWriter(raw_pwrite_stream &OS, uint8_t OSABI, bool Is64Bit) { return createELFObjectWriter( llvm::make_unique(OSABI, Is64Bit), OS, - /*IsLittleEndian=*/false); + /*IsLittleEndian=*/true); } diff --git a/llvm/test/MC/RISCV/elf-header.s b/llvm/test/MC/RISCV/elf-header.s new file mode 100644 index 000000000000..29a7036f2fc6 --- /dev/null +++ b/llvm/test/MC/RISCV/elf-header.s @@ -0,0 +1,42 @@ +# RUN: llvm-mc %s -filetype=obj -triple=riscv32 | llvm-readobj -h \ +# RUN: | FileCheck -check-prefix=RV32 %s +# RUN: llvm-mc %s -filetype=obj -triple=riscv64 | llvm-readobj -h \ +# RUN: | FileCheck -check-prefix=RV64 %s + +# RV32: Format: ELF32-riscv +# RV32: Arch: riscv32 +# RV32: AddressSize: 32bit +# RV32: ElfHeader { +# RV32: Ident { +# RV32: Magic: (7F 45 4C 46) +# RV32: Class: 32-bit (0x1) +# RV32: DataEncoding: LittleEndian (0x1) +# RV32: FileVersion: 1 +# RV32: OS/ABI: SystemV (0x0) +# RV32: ABIVersion: 0 +# RV32: } +# RV32: Type: Relocatable (0x1) +# RV32: Machine: EM_RISCV (0xF3) +# RV32: Version: 1 +# RV32: Flags [ (0x0) +# RV32: ] +# RV32: } + +# RV64: Format: ELF64-riscv +# RV64: Arch: riscv64 +# RV64: AddressSize: 64bit +# RV64: ElfHeader { +# RV64: Ident { +# RV64: Magic: (7F 45 4C 46) +# RV64: Class: 64-bit (0x2) +# RV64: DataEncoding: LittleEndian (0x1) +# RV64: FileVersion: 1 +# RV64: OS/ABI: SystemV (0x0) +# RV64: ABIVersion: 0 +# RV64: } +# RV64: Type: Relocatable (0x1) +# RV64: Machine: EM_RISCV (0xF3) +# RV64: Version: 1 +# RV64: Flags [ (0x0) +# RV64: ] +# RV64: }