Commit b51021f
[lli] Make sure the exported __chkstk functions are included when exporting them
The trick we use (since cbc2a06)
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
msys2/MINGW-packages#18002.
Differential Revision: https://reviews.llvm.org/D159085
(cherry picked from commit 4bba12f)1 parent 6de7b2e commit b51021f
1 file changed
+14
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1200 | 1200 | | |
1201 | 1201 | | |
1202 | 1202 | | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
1203 | 1210 | | |
1204 | 1211 | | |
1205 | 1212 | | |
1206 | 1213 | | |
1207 | 1214 | | |
1208 | 1215 | | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
1209 | 1219 | | |
1210 | 1220 | | |
1211 | 1221 | | |
| 1222 | + | |
| 1223 | + | |
1212 | 1224 | | |
1213 | 1225 | | |
1214 | 1226 | | |
| 1227 | + | |
| 1228 | + | |
1215 | 1229 | | |
1216 | 1230 | | |
1217 | 1231 | | |
| |||
0 commit comments