[llvm] [Offloading] Extend OffloadBinary format to support multiple metadata entries (PR #169425)

Joseph Huber via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 24 18:04:09 PST 2025


================
@@ -109,9 +109,12 @@ class OffloadBinary : public Binary {
   struct Header {
     uint8_t Magic[4] = {0x10, 0xFF, 0x10, 0xAD}; // 0x10FF10AD magic bytes.
     uint32_t Version = OffloadBinary::Version;   // Version identifier.
-    uint64_t Size;        // Size in bytes of this entire binary.
-    uint64_t EntryOffset; // Offset of the metadata entry in bytes.
-    uint64_t EntrySize;   // Size of the metadata entry in bytes.
+    uint64_t Size;          // Size in bytes of this entire binary.
+    uint64_t EntriesCount;  // Number of metadata entries in the binary.
+    uint64_t EntriesOffset; // Offset in bytes to the start of entries block.
+    uint64_t EntriesSize;   // Size of the entries block in bytes.
+    uint64_t StringOffset;  // Offset in bytes to the global string map
+    uint64_t NumStrings;    // Number of entries in the global string map.
----------------
jhuber6 wrote:

Why do we need this? Does this introduce a global string map that's not associated with a single image? I don't see the extra handling for that

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


More information about the llvm-commits mailing list