diff options
author | Martin Storsjö <martin@martin.st> | 2023-08-29 11:31:53 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2023-09-07 23:32:34 +0300 |
commit | 4bba12f7226228221d1fa4bad7732e25647ecb87 (patch) | |
tree | 426c96548aeec73db1c2730b5ac701a5ab3aa874 /clang/unittests/Frontend/CompilerInvocationTest.cpp | |
parent | e5137e7c33fff9d0c31179cae2cffb12a82b1b56 (diff) | |
download | llvm-4bba12f7226228221d1fa4bad7732e25647ecb87.zip llvm-4bba12f7226228221d1fa4bad7732e25647ecb87.tar.gz llvm-4bba12f7226228221d1fa4bad7732e25647ecb87.tar.bz2 |
[lli] Make sure the exported __chkstk functions are included when exporting them
The trick we use (since cbc2a0623a39461b56bd9eeb308ca535f03793f8)
for exporting the __chkstk function (with various per-arch names)
that is defined in a different object file, relies on the function
already being linked in (by some function referencing it).
This function does end up referenced if there's a function that
allocates more than 4 KB on the stack. In most cases, it's referenced
somewhere, but in the case of builds with LLVM_LINK_LLVM_DYLIB
enabled (so most of the code resides in a separate libLLVM-<ver>.dll)
the only code in lli.exe is the lli tool specific code and the
mingw-w64 crt startup code. In the case of GCC based MinGW i386
builds with LLVM_LINK_LLVM_DYLIB, nothing else references it though.
Manually add a reference to the function to make sure it is linked
in (from libgcc or compiler-rt builtins) so that it can be exported.
This fixes one build issue encountered in
https://github.com/msys2/MINGW-packages/pull/18002.
Differential Revision: https://reviews.llvm.org/D159085
Diffstat (limited to 'clang/unittests/Frontend/CompilerInvocationTest.cpp')
0 files changed, 0 insertions, 0 deletions