llvm
add0a318 - [SYCL][Offload] Pad EntryTy to 64 bytes for Win32(COFF) /INCREMENTAL

Commit
54 days ago
[SYCL][Offload] Pad EntryTy to 64 bytes for Win32(COFF) /INCREMENTAL MSVC's /INCREMENTAL linker can insert zero-padding between object-file contributions to a merged COFF section. In llvm_offload_entries$OE this shifts (EntriesEnd - EntriesBegin) off a multiple of sizeof(EntryTy), walking the runtime iterator into garbage after the first entry. Append a trailing uint64_t Padding so sizeof(EntryTy) == 64, matching the Align(64) now applied on COFF to the boundary globals (__start_/__stop_llvm_offload_entries) and to each individual entry. ELF/Mach-O keep Align(8). Padding is unconditional so the C++ struct and the IR struct agree on every host. Note: this is an ABI break -- prebuilt device libraries and offload bundles emitted against the 56-byte layout must be rebuilt.
Author
Committer
Parents
Loading