[llvm] r316091 - [RISCV] Bugfix createRISCVELFObjectWriter
Alex Bradbury via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 18 09:11:31 PDT 2017
Author: asb
Date: Wed Oct 18 09:11:31 2017
New Revision: 316091
URL: http://llvm.org/viewvc/llvm-project?rev=316091&view=rev
Log:
[RISCV] Bugfix createRISCVELFObjectWriter
r315275 set the IsLittleEndian parameter incorrectly. This patch corrects
this, and adds a test to ensure such mistakes will be caught in the future.
Added:
llvm/trunk/test/MC/RISCV/elf-header.s
Modified:
llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
Modified: llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp?rev=316091&r1=316090&r2=316091&view=diff
==============================================================================
--- llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp (original)
+++ llvm/trunk/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp Wed Oct 18 09:11:31 2017
@@ -67,5 +67,5 @@ llvm::createRISCVELFObjectWriter(raw_pwr
bool Is64Bit) {
return createELFObjectWriter(
llvm::make_unique<RISCVELFObjectWriter>(OSABI, Is64Bit), OS,
- /*IsLittleEndian=*/false);
+ /*IsLittleEndian=*/true);
}
Added: llvm/trunk/test/MC/RISCV/elf-header.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/RISCV/elf-header.s?rev=316091&view=auto
==============================================================================
--- llvm/trunk/test/MC/RISCV/elf-header.s (added)
+++ llvm/trunk/test/MC/RISCV/elf-header.s Wed Oct 18 09:11:31 2017
@@ -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: }
More information about the llvm-commits
mailing list