From 881050addf359b7799ccfc141fd12cc814f197e8 Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Sun, 1 Jun 2025 19:36:57 -0700 Subject: [PATCH] add default merges and section removes --- src/linker/lnk.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/linker/lnk.c b/src/linker/lnk.c index 4e932f71..95c259d6 100644 --- a/src/linker/lnk.c +++ b/src/linker/lnk.c @@ -213,6 +213,7 @@ 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, ".00cfg=.rdata"); // 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"); @@ -223,6 +224,9 @@ lnk_config_from_argcv(Arena *arena, int argc, char **argv) // sections to remove from the image lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Rad_RemoveSection, ".debug"); + lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Rad_RemoveSection, ".gehcont"); + lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Rad_RemoveSection, ".gfids"); + lnk_cmd_line_push_optionf(scratch.arena, &cmd_line, LNK_CmdSwitch_Rad_RemoveSection, ".gxfg"); // set default max worker count if (lnk_cmd_line_has_switch(cmd_line, LNK_CmdSwitch_Rad_SharedThreadPool)) {