[PATCH] D74262: [clang-offload-bundler] Enable handling of partially-linked fat objects

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 10 08:16:06 PST 2020


ABataev added a comment.

Partial linking may lead to some incorrect results with global constructors. How are you going to handle this?



================
Comment at: clang/test/Driver/clang-offload-bundler-missing-size-section.cpp:1-44
+// REQUIRES: x86-registered-target
+// RUN: %clangxx -c %s -o %t_fat.o
+// RUN: %clangxx %t_fat.o -o %t.exe
+// RUN: clang-offload-bundler -type=o -targets=host-x86_64-unknown-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t_host.o,%t_device.o -inputs=%t_fat.o -unbundle
+// RUN: %t.exe %t_device.o | FileCheck %s
+// CHECK:11
+
----------------
Very strange test. It should not contain standard includes. Also, it should not be an executable test, you have to check for the driver output or something similar


================
Comment at: clang/test/Driver/clang-offload-bundler-oo.cpp:1-18
+// REQUIRES: x86-registered-target
+// RUN: %clangxx -c %s -o %t_fat.o
+// RUN: %clangxx %t_fat.o -o %t.exe
+// RUN: clang-offload-bundler -type=oo -targets=host-x86_64-unknown-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.o,%t_list.txt -inputs=%t_fat.o -unbundle
+// RUN: %t.exe %t_list.txt | FileCheck %s
+// CHECK:11
+// CHECK:222
----------------
Same about this test


================
Comment at: clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp:84
                        "  o   - object\n"
+                       "  oo  - object; output file is a list of unbundled objects\n"
                        "  gch - precompiled-header\n"
----------------
Hmm, are you going to introduce a new kind of output? It really requires RFC.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74262/new/

https://reviews.llvm.org/D74262





More information about the cfe-commits mailing list