[llvm] [BinaryFormat][ELF] Rename machine type INTEL205 to INTELGT (PR #159791)

via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 19 09:11:00 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-binary-utilities

Author: Nick Sarnie (sarnex)

<details>
<summary>Changes</summary>

`EM_INTEL205` was renamed to `EM_INTELGT` (ref [here](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=7b9f985957798ba4dacc454f22c9e426c6897cb8)) and is used for Intel GPU images.

We will be using this type for offloading to Intel GPUs.

---
Full diff: https://github.com/llvm/llvm-project/pull/159791.diff


5 Files Affected:

- (modified) llvm/include/llvm/BinaryFormat/ELF.h (+1-1) 
- (modified) llvm/lib/BinaryFormat/ELF.cpp (+3-3) 
- (modified) llvm/lib/ObjectYAML/ELFYAML.cpp (+1) 
- (added) llvm/test/tools/yaml2obj/ELF/intelgt.yaml (+13) 
- (modified) llvm/tools/llvm-readobj/ELFDumper.cpp (+1) 


``````````diff
diff --git a/llvm/include/llvm/BinaryFormat/ELF.h b/llvm/include/llvm/BinaryFormat/ELF.h
index 7e880fdec3478..e619b186dfe3d 100644
--- a/llvm/include/llvm/BinaryFormat/ELF.h
+++ b/llvm/include/llvm/BinaryFormat/ELF.h
@@ -303,7 +303,7 @@ enum {
   EM_BA2 = 202,           // Beyond BA2 CPU architecture
   EM_XCORE = 203,         // XMOS xCORE processor family
   EM_MCHP_PIC = 204,      // Microchip 8-bit PIC(r) family
-  EM_INTEL205 = 205,      // Reserved by Intel
+  EM_INTELGT = 205,       // Intel Graphics Technology
   EM_INTEL206 = 206,      // Reserved by Intel
   EM_INTEL207 = 207,      // Reserved by Intel
   EM_INTEL208 = 208,      // Reserved by Intel
diff --git a/llvm/lib/BinaryFormat/ELF.cpp b/llvm/lib/BinaryFormat/ELF.cpp
index 0ad1a09429e7c..4b430bc287ff9 100644
--- a/llvm/lib/BinaryFormat/ELF.cpp
+++ b/llvm/lib/BinaryFormat/ELF.cpp
@@ -175,7 +175,7 @@ uint16_t ELF::convertArchNameToEMachine(StringRef Arch) {
       .Case("ba2", EM_BA2)
       .Case("xcore", EM_XCORE)
       .Case("mchp_pic", EM_MCHP_PIC)
-      .Case("intel205", EM_INTEL205)
+      .Case("intelgt", EM_INTELGT)
       .Case("intel206", EM_INTEL206)
       .Case("intel207", EM_INTEL207)
       .Case("intel208", EM_INTEL208)
@@ -584,8 +584,8 @@ StringRef ELF::convertEMachineToArchName(uint16_t EMachine) {
     return "xcore";
   case EM_MCHP_PIC:
     return "mchp_pic";
-  case EM_INTEL205:
-    return "intel205";
+  case EM_INTELGT:
+    return "intelgt";
   case EM_INTEL206:
     return "intel206";
   case EM_INTEL207:
diff --git a/llvm/lib/ObjectYAML/ELFYAML.cpp b/llvm/lib/ObjectYAML/ELFYAML.cpp
index 0228dedb3fbfa..d9cce1eb7641d 100644
--- a/llvm/lib/ObjectYAML/ELFYAML.cpp
+++ b/llvm/lib/ObjectYAML/ELFYAML.cpp
@@ -359,6 +359,7 @@ void ScalarEnumerationTraits<ELFYAML::ELF_EM>::enumeration(
   ECase(EM_VE);
   ECase(EM_CSKY);
   ECase(EM_LOONGARCH);
+  ECase(EM_INTELGT);
 #undef ECase
   IO.enumFallback<Hex16>(Value);
 }
diff --git a/llvm/test/tools/yaml2obj/ELF/intelgt.yaml b/llvm/test/tools/yaml2obj/ELF/intelgt.yaml
new file mode 100644
index 0000000000000..07281347c1331
--- /dev/null
+++ b/llvm/test/tools/yaml2obj/ELF/intelgt.yaml
@@ -0,0 +1,13 @@
+# RUN: yaml2obj %s -o %t1
+# RUN: llvm-readelf %t1 --file-headers | FileCheck %s
+
+# Test that the recently-renamed INTELGT machine type works
+
+# CHECK: Machine: Intel Graphics Technology
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2MSB
+  Type:    ET_REL
+  Machine: EM_INTELGT
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index b7e48cfec5885..3092bfd42e25e 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -1305,6 +1305,7 @@ const EnumEntry<unsigned> ElfMachineType[] = {
     ENUM_ENT(EM_BPF, "EM_BPF"),
     ENUM_ENT(EM_VE, "NEC SX-Aurora Vector Engine"),
     ENUM_ENT(EM_LOONGARCH, "LoongArch"),
+    ENUM_ENT(EM_INTELGT, "Intel Graphics Technology"),
 };
 
 const EnumEntry<unsigned> ElfSymbolBindings[] = {

``````````

</details>


https://github.com/llvm/llvm-project/pull/159791


More information about the llvm-commits mailing list