aboutsummaryrefslogtreecommitdiff
path: root/src/link/Coff.zig
diff options
context:
space:
mode:
authorzhaozg <zhaozg@gmail.com>2020-10-18 12:13:13 +0800
committerAndrew Kelley <andrew@ziglang.org>2020-10-29 20:09:22 -0400
commit72343ffd06dbbc95424d74c93188ba4a6aa74c49 (patch)
tree4dbb35ad76f952b2dec4a4a9e2227487e20f2c10 /src/link/Coff.zig
parent490cafe2c5a62585fd80245a0f6fa5cff4f52dba (diff)
downloadzig-72343ffd06dbbc95424d74c93188ba4a6aa74c49.tar.gz
zig-72343ffd06dbbc95424d74c93188ba4a6aa74c49.zip
fix #3237: resolve undefined symbol _DllMainCRTStartup
Diffstat (limited to 'src/link/Coff.zig')
-rw-r--r--src/link/Coff.zig5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/link/Coff.zig b/src/link/Coff.zig
index 5dc425cb17..34093bba01 100644
--- a/src/link/Coff.zig
+++ b/src/link/Coff.zig
@@ -1054,6 +1054,11 @@ fn linkWithLLD(self: *Coff, comp: *Compilation) !void {
if (is_dyn_lib) {
try argv.append(try comp.get_libc_crt_file(arena, "dllcrt2.o"));
+ if (target.cpu.arch == .i386) {
+ try argv.append("-ALTERNATENAME:__DllMainCRTStartup@12=_DllMainCRTStartup@12");
+ } else {
+ try argv.append("-ALTERNATENAME:_DllMainCRTStartup=DllMainCRTStartup");
+ }
} else {
try argv.append(try comp.get_libc_crt_file(arena, "crt2.o"));
}