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");