From aae3874521466a0b748a9375aec169582f25c271 Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Sun, 1 Jun 2025 18:04:46 -0700 Subject: [PATCH] disable TLS merge for now --- src/linker/lnk.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/linker/lnk.c b/src/linker/lnk.c index 14ca6ef0..cea78b23 100644 --- a/src/linker/lnk.c +++ b/src/linker/lnk.c @@ -213,7 +213,8 @@ lnk_config_from_argcv(Arena *arena, int argc, char **argv) // default section merges lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Merge, ".xdata=.rdata"); - lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Merge, ".tls=.data"); + // TODO: .tls must be always first contribution in .data section because compiler generates TLS relative movs + //lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Merge, ".tls=.data"); lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Merge, ".edata=.rdata"); //lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Merge, ".idata=.rdata"); lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Merge, ".didat=.data");