aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2023-03-14 13:04:34 +0000
committerGitHub <noreply@github.com>2023-03-14 13:04:34 +0000
commit00f24a324972508f00c337e6321c3528a370a753 (patch)
treebc783faad848d3c243ded0cae039f132fdce93ce /src/main.cpp
parentd8a798372b041f7a8814ba46a88520852bc01f71 (diff)
parent5134d6bc63cf39cc987bf5a11a724ad3db69a0a1 (diff)
Merge pull request #2380 from flysand7/master
Add -no-thread-local flag
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 066675b36..9a2a1ebf8 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -634,6 +634,7 @@ enum BuildFlagKind {
BuildFlag_Microarch,
BuildFlag_TargetFeatures,
BuildFlag_MinimumOSVersion,
+ BuildFlag_NoThreadLocal,
BuildFlag_RelocMode,
BuildFlag_DisableRedZone,
@@ -794,6 +795,7 @@ gb_internal bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_Debug, str_lit("debug"), BuildFlagParam_None, Command__does_check);
add_flag(&build_flags, BuildFlag_DisableAssert, str_lit("disable-assert"), BuildFlagParam_None, Command__does_check);
add_flag(&build_flags, BuildFlag_NoBoundsCheck, str_lit("no-bounds-check"), BuildFlagParam_None, Command__does_check);
+ add_flag(&build_flags, BuildFlag_NoThreadLocal, str_lit("no-thread-local"), BuildFlagParam_None, Command__does_check);
add_flag(&build_flags, BuildFlag_NoDynamicLiterals, str_lit("no-dynamic-literals"), BuildFlagParam_None, Command__does_check);
add_flag(&build_flags, BuildFlag_NoCRT, str_lit("no-crt"), BuildFlagParam_None, Command__does_build);
add_flag(&build_flags, BuildFlag_NoEntryPoint, str_lit("no-entry-point"), BuildFlagParam_None, Command__does_check &~ Command_test);
@@ -1312,6 +1314,9 @@ gb_internal bool parse_build_flags(Array<String> args) {
case BuildFlag_NoEntryPoint:
build_context.no_entry_point = true;
break;
+ case BuildFlag_NoThreadLocal:
+ build_context.no_thread_local = true;
+ break;
case BuildFlag_UseLLD:
build_context.use_lld = true;
break;
@@ -2064,6 +2069,10 @@ gb_internal void print_show_help(String const arg0, String const &command) {
print_usage_line(2, "Disables automatic linking with the C Run Time");
print_usage_line(0, "");
+ print_usage_line(1, "-no-thread-local");
+ print_usage_line(2, "Ignore @thread_local attribute, effectively treating the program as if it is single-threaded");
+ print_usage_line(0, "");
+
print_usage_line(1, "-lld");
print_usage_line(2, "Use the LLD linker rather than the default");
print_usage_line(0, "");