implement /INFERASANLIBS

This commit is contained in:
Nikita Smith
2026-04-06 22:18:26 -07:00
parent 3bb8983461
commit e54bef58df
10 changed files with 233 additions and 17 deletions
+13
View File
@@ -974,6 +974,15 @@ lnk_include_symbol(LNK_Config *config, String8 name, LNK_Obj *obj)
hash_table_push_string_raw(config->arena, config->include_symbol_ht, name, node);
}
internal void
lnk_whole_archive(LNK_Config *config, String8 lib_name)
{
String8Node value = { .string = lib_name };
String8List value_strings = {0};
str8_list_push_node(&value_strings, &value);
lnk_apply_cmd_option_to_config(config, str8_lit("wholearchive"), value_strings, 0);
}
internal void
lnk_print_build_info()
{
@@ -1443,6 +1452,10 @@ lnk_apply_cmd_option_to_config(LNK_Config *config, String8 cmd_name, String8List
}
} break;
case LNK_CmdSwitch_InferAsanLibs: {
lnk_cmd_switch_parse_flag(obj, cmd_switch, value_strings, &config->infer_asan_libs);
} break;
case LNK_CmdSwitch_LargeAddressAware: {
lnk_cmd_switch_set_flag_16(obj, cmd_switch, value_strings, &config->file_characteristics, PE_ImageFileCharacteristic_LARGE_ADDRESS_AWARE);
} break;