authorgravatar for emekankurumeh@outlook.comemekoi <emekankurumeh@outlook.com> 2019-03-29 19:25:47-05:00
committergravatar for emekankurumeh@outlook.comemekoi <emekankurumeh@outlook.com> 2019-04-04 19:51:55-05:00
logecd2332bb5c74739ade40f1b9eaf412b4642a36f
tree20f3ce5831f0c565541d6a1da190bef6d80649bd
parent8e6ff8d615820f7f732724a5db1639ae5f12fb4e

made lld flags on windows consistent


1 files changed, 23 insertions(+), 23 deletions(-)

src/link.cpp+23-23
...@@ -1122,14 +1122,14 @@ static bool zig_lld_link(ZigLLVM_ObjectFormatType oformat, const char **args, si...@@ -1122,14 +1122,14 @@ static bool zig_lld_link(ZigLLVM_ObjectFormatType oformat, const char **args, si
1122}1122}
11231123
1124static void add_uefi_link_args(LinkJob *lj) {1124static void add_uefi_link_args(LinkJob *lj) {
1125 lj->args.append("/BASE:0");1125 lj->args.append("-BASE:0");
1126 lj->args.append("/ENTRY:EfiMain");1126 lj->args.append("-ENTRY:EfiMain");
1127 lj->args.append("/OPT:REF");1127 lj->args.append("-OPT:REF");
1128 lj->args.append("/SAFESEH:NO");1128 lj->args.append("-SAFESEH:NO");
1129 lj->args.append("/MERGE:.rdata=.data");1129 lj->args.append("-MERGE:.rdata=.data");
1130 lj->args.append("/ALIGN:32");1130 lj->args.append("-ALIGN:32");
1131 lj->args.append("/NODEFAULTLIB");1131 lj->args.append("-NODEFAULTLIB");
1132 lj->args.append("/SECTION:.xdata,D");1132 lj->args.append("-SECTION:.xdata,D");
1133}1133}
11341134
1135static void add_nt_link_args(LinkJob *lj, bool is_library) {1135static void add_nt_link_args(LinkJob *lj, bool is_library) {
...@@ -1163,12 +1163,12 @@ static void add_nt_link_args(LinkJob *lj, bool is_library) {...@@ -1163,12 +1163,12 @@ static void add_nt_link_args(LinkJob *lj, bool is_library) {
1163 lj->args.append("kernel32.lib");1163 lj->args.append("kernel32.lib");
1164 lj->args.append("ntdll.lib");1164 lj->args.append("ntdll.lib");
1165 } else {1165 } else {
1166 lj->args.append("/NODEFAULTLIB");1166 lj->args.append("-NODEFAULTLIB");
1167 if (!is_library) {1167 if (!is_library) {
1168 if (g->have_winmain) {1168 if (g->have_winmain) {
1169 lj->args.append("/ENTRY:WinMain");1169 lj->args.append("-ENTRY:WinMain");
1170 } else {1170 } else {
1171 lj->args.append("/ENTRY:WinMainCRTStartup");1171 lj->args.append("-ENTRY:WinMainCRTStartup");
1172 }1172 }
1173 }1173 }
1174 }1174 }
...@@ -1178,17 +1178,17 @@ static void construct_linker_job_coff(LinkJob *lj) {...@@ -1178,17 +1178,17 @@ static void construct_linker_job_coff(LinkJob *lj) {
1178 Error err;1178 Error err;
1179 CodeGen *g = lj->codegen;1179 CodeGen *g = lj->codegen;
11801180
1181 lj->args.append("/ERRORLIMIT:0");1181 lj->args.append("-ERRORLIMIT:0");
11821182
1183 lj->args.append("/NOLOGO");1183 lj->args.append("-NOLOGO");
11841184
1185 if (!g->strip_debug_symbols) {1185 if (!g->strip_debug_symbols) {
1186 lj->args.append("/DEBUG");1186 lj->args.append("-DEBUG");
1187 }1187 }
11881188
1189 if (g->out_type == OutTypeExe) {1189 if (g->out_type == OutTypeExe) {
1190 // TODO compile time stack upper bound detection1190 // TODO compile time stack upper bound detection
1191 lj->args.append("/STACK:16777216");1191 lj->args.append("-STACK:16777216");
1192 }1192 }
11931193
1194 coff_append_machine_arg(g, &lj->args);1194 coff_append_machine_arg(g, &lj->args);
...@@ -1203,35 +1203,35 @@ static void construct_linker_job_coff(LinkJob *lj) {...@@ -1203,35 +1203,35 @@ static void construct_linker_job_coff(LinkJob *lj) {
1203 }1203 }
1204 break;1204 break;
1205 case TargetSubsystemConsole:1205 case TargetSubsystemConsole:
1206 lj->args.append("/SUBSYSTEM:console");1206 lj->args.append("-SUBSYSTEM:console");
1207 add_nt_link_args(lj, is_library);1207 add_nt_link_args(lj, is_library);
1208 break;1208 break;
1209 case TargetSubsystemEfiApplication:1209 case TargetSubsystemEfiApplication:
1210 lj->args.append("/SUBSYSTEM:efi_application");1210 lj->args.append("-SUBSYSTEM:efi_application");
1211 add_uefi_link_args(lj);1211 add_uefi_link_args(lj);
1212 break;1212 break;
1213 case TargetSubsystemEfiBootServiceDriver:1213 case TargetSubsystemEfiBootServiceDriver:
1214 lj->args.append("/SUBSYSTEM:efi_boot_service_driver");1214 lj->args.append("-SUBSYSTEM:efi_boot_service_driver");
1215 add_uefi_link_args(lj);1215 add_uefi_link_args(lj);
1216 break;1216 break;
1217 case TargetSubsystemEfiRom:1217 case TargetSubsystemEfiRom:
1218 lj->args.append("/SUBSYSTEM:efi_rom");1218 lj->args.append("-SUBSYSTEM:efi_rom");
1219 add_uefi_link_args(lj);1219 add_uefi_link_args(lj);
1220 break;1220 break;
1221 case TargetSubsystemEfiRuntimeDriver:1221 case TargetSubsystemEfiRuntimeDriver:
1222 lj->args.append("/SUBSYSTEM:efi_runtime_driver");1222 lj->args.append("-SUBSYSTEM:efi_runtime_driver");
1223 add_uefi_link_args(lj);1223 add_uefi_link_args(lj);
1224 break;1224 break;
1225 case TargetSubsystemNative:1225 case TargetSubsystemNative:
1226 lj->args.append("/SUBSYSTEM:native");1226 lj->args.append("-SUBSYSTEM:native");
1227 add_nt_link_args(lj, is_library);1227 add_nt_link_args(lj, is_library);
1228 break;1228 break;
1229 case TargetSubsystemPosix:1229 case TargetSubsystemPosix:
1230 lj->args.append("/SUBSYSTEM:posix");1230 lj->args.append("-SUBSYSTEM:posix");
1231 add_nt_link_args(lj, is_library);1231 add_nt_link_args(lj, is_library);
1232 break;1232 break;
1233 case TargetSubsystemWindows:1233 case TargetSubsystemWindows:
1234 lj->args.append("/SUBSYSTEM:windows");1234 lj->args.append("-SUBSYSTEM:windows");
1235 add_nt_link_args(lj, is_library);1235 add_nt_link_args(lj, is_library);
1236 break;1236 break;
1237 }1237 }