[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