[llvm] c747b2c - [RISCV] Add missing e_flag EF_RISCV_TSO
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 7 07:05:50 PST 2022
Author: luxufan
Date: 2022-01-07T23:05:29+08:00
New Revision: c747b2c0b09e8a97521bffc8bbfe17a4670dd534
URL: https://github.com/llvm/llvm-project/commit/c747b2c0b09e8a97521bffc8bbfe17a4670dd534
DIFF: https://github.com/llvm/llvm-project/commit/c747b2c0b09e8a97521bffc8bbfe17a4670dd534.diff
LOG: [RISCV] Add missing e_flag EF_RISCV_TSO
This flag was defined here https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc
Reviewed By: asb, MaskRay, jhenderson
Differential Revision: https://reviews.llvm.org/D111939
Added:
Modified:
llvm/include/llvm/BinaryFormat/ELF.h
llvm/lib/ObjectYAML/ELFYAML.cpp
llvm/test/Object/RISCV/elf-flags.yaml
llvm/tools/llvm-readobj/ELFDumper.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/BinaryFormat/ELF.h b/llvm/include/llvm/BinaryFormat/ELF.h
index 065661cbd188f..7942af073176c 100644
--- a/llvm/include/llvm/BinaryFormat/ELF.h
+++ b/llvm/include/llvm/BinaryFormat/ELF.h
@@ -656,7 +656,8 @@ enum : unsigned {
EF_RISCV_FLOAT_ABI_SINGLE = 0x0002,
EF_RISCV_FLOAT_ABI_DOUBLE = 0x0004,
EF_RISCV_FLOAT_ABI_QUAD = 0x0006,
- EF_RISCV_RVE = 0x0008
+ EF_RISCV_RVE = 0x0008,
+ EF_RISCV_TSO = 0x0010,
};
// ELF Relocation types for RISC-V
diff --git a/llvm/lib/ObjectYAML/ELFYAML.cpp b/llvm/lib/ObjectYAML/ELFYAML.cpp
index 9b9266998ea62..ffe2599beaf8f 100644
--- a/llvm/lib/ObjectYAML/ELFYAML.cpp
+++ b/llvm/lib/ObjectYAML/ELFYAML.cpp
@@ -518,6 +518,7 @@ void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO,
BCaseMask(EF_RISCV_FLOAT_ABI_DOUBLE, EF_RISCV_FLOAT_ABI);
BCaseMask(EF_RISCV_FLOAT_ABI_QUAD, EF_RISCV_FLOAT_ABI);
BCase(EF_RISCV_RVE);
+ BCase(EF_RISCV_TSO);
break;
case ELF::EM_AMDGPU:
BCaseMask(EF_AMDGPU_MACH_NONE, EF_AMDGPU_MACH);
diff --git a/llvm/test/Object/RISCV/elf-flags.yaml b/llvm/test/Object/RISCV/elf-flags.yaml
index 2facec20f0418..86bcf158958e8 100644
--- a/llvm/test/Object/RISCV/elf-flags.yaml
+++ b/llvm/test/Object/RISCV/elf-flags.yaml
@@ -2,10 +2,11 @@
# RUN: llvm-readobj --file-headers %t | FileCheck -check-prefix=OBJ %s
# RUN: obj2yaml %t | FileCheck -check-prefix=YAML %s
-# OBJ: Flags [ (0xD)
+# OBJ: Flags [ (0x1D)
# OBJ-NEXT: EF_RISCV_FLOAT_ABI_DOUBLE (0x4)
# OBJ-NEXT: EF_RISCV_RVC (0x1)
# OBJ-NEXT: EF_RISCV_RVE (0x8)
+# OBJ-NEXT: EF_RISCV_TSO (0x10)
# OBJ-NEXT: ]
# YAML: FileHeader:
@@ -13,7 +14,7 @@
# YAML-NEXT: Data: ELFDATA2LSB
# YAML-NEXT: Type: ET_EXEC
# YAML-NEXT: Machine: EM_RISCV
-# YAML-NEXT: Flags: [ EF_RISCV_RVC, EF_RISCV_FLOAT_ABI_DOUBLE, EF_RISCV_RVE ]
+# YAML-NEXT: Flags: [ EF_RISCV_RVC, EF_RISCV_FLOAT_ABI_DOUBLE, EF_RISCV_RVE, EF_RISCV_TSO ]
--- !ELF
FileHeader:
@@ -21,4 +22,4 @@ FileHeader:
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_RISCV
- Flags: [ EF_RISCV_RVC, EF_RISCV_FLOAT_ABI_DOUBLE, EF_RISCV_RVE ]
+ Flags: [ EF_RISCV_RVC, EF_RISCV_FLOAT_ABI_DOUBLE, EF_RISCV_RVE, EF_RISCV_TSO ]
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index 9d9c222347267..b0fba6d813a98 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -1583,7 +1583,8 @@ const EnumEntry<unsigned> ElfHeaderRISCVFlags[] = {
ENUM_ENT(EF_RISCV_FLOAT_ABI_SINGLE, "single-float ABI"),
ENUM_ENT(EF_RISCV_FLOAT_ABI_DOUBLE, "double-float ABI"),
ENUM_ENT(EF_RISCV_FLOAT_ABI_QUAD, "quad-float ABI"),
- ENUM_ENT(EF_RISCV_RVE, "RVE")
+ ENUM_ENT(EF_RISCV_RVE, "RVE"),
+ ENUM_ENT(EF_RISCV_TSO, "TSO"),
};
const EnumEntry<unsigned> ElfHeaderAVRFlags[] = {
More information about the llvm-commits
mailing list