[clang] f933c89 - [OpenMP] Add a check for alignment in the offload packager

Joseph Huber via cfe-commits cfe-commits at lists.llvm.org
Wed May 11 09:25:55 PDT 2022


Author: Joseph Huber
Date: 2022-05-11T12:25:44-04:00
New Revision: f933c896d1abe9e0e7854e95023fe389c0e704eb

URL: https://github.com/llvm/llvm-project/commit/f933c896d1abe9e0e7854e95023fe389c0e704eb
DIFF: https://github.com/llvm/llvm-project/commit/f933c896d1abe9e0e7854e95023fe389c0e704eb.diff

LOG: [OpenMP] Add a check for alignment in the offload packager

Summary:
These sections need to be aligned correctly to be extracted later, add
a check to indicate if they aren't.

Added: 
    

Modified: 
    clang/tools/clang-offload-packager/ClangOffloadPackager.cpp

Removed: 
    


################################################################################
diff  --git a/clang/tools/clang-offload-packager/ClangOffloadPackager.cpp b/clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
index a9b84669ab671..f05697539675d 100644
--- a/clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
+++ b/clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
@@ -100,6 +100,10 @@ int main(int argc, const char **argv) {
       }
     }
     std::unique_ptr<MemoryBuffer> Buffer = OffloadBinary::write(ImageBinary);
+    if (Buffer->getBufferSize() % OffloadBinary::getAlignment() != 0)
+      return reportError(
+          createStringError(inconvertibleErrorCode(),
+                            "Offload binary has invalid size alignment"));
     OS << Buffer->getBuffer();
   }
 


        


More information about the cfe-commits mailing list