mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-13 07:32:23 -07:00
move delay load helper to mscrt layer
This commit is contained in:
+1
-7
@@ -1729,13 +1729,7 @@ lnk_build_link_context(TP_Context *tp, TP_Arena *tp_arena, LNK_Config *config)
|
||||
} break;
|
||||
case State_PushDllHelperUndefSymbol: {
|
||||
ProfBegin("Push Dll Helper Undef Symbol");
|
||||
|
||||
switch (config->machine) {
|
||||
case COFF_MachineType_X86: delay_load_helper_name = str8_cstring(MSCRT_DELAY_LOAD_HELPER2_X86_SYMBOL_NAME); break;
|
||||
case COFF_MachineType_X64: delay_load_helper_name = str8_cstring(MSCRT_DELAY_LOAD_HELPER2_SYMBOL_NAME); break;
|
||||
default: { NotImplemented; } break;
|
||||
}
|
||||
|
||||
delay_load_helper_name = mscrt_delay_load_helper_name_from_machine(config->machine);
|
||||
str8_list_push(scratch.arena, &include_symbol_list, delay_load_helper_name);
|
||||
ProfEnd();
|
||||
} break;
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
// Copyright (c) Epic Games Tools
|
||||
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
||||
|
||||
internal String8
|
||||
mscrt_delay_load_helper_name_from_machine(COFF_MachineType machine)
|
||||
{
|
||||
String8 delay_load_helper_name = str8_zero();
|
||||
switch (machine) {
|
||||
case COFF_MachineType_Unknown: break;
|
||||
case COFF_MachineType_X86: delay_load_helper_name = str8_cstring(MSCRT_DELAY_LOAD_HELPER2_X86_SYMBOL_NAME); break;
|
||||
case COFF_MachineType_X64: delay_load_helper_name = str8_cstring(MSCRT_DELAY_LOAD_HELPER2_SYMBOL_NAME); break;
|
||||
default: { NotImplemented; } break;
|
||||
}
|
||||
return delay_load_helper_name;
|
||||
}
|
||||
|
||||
internal U64
|
||||
mscrt_parse_func_info(Arena *arena,
|
||||
String8 raw_data,
|
||||
|
||||
@@ -343,6 +343,10 @@ typedef struct MSCRT_ParsedFuncInfoV4
|
||||
MSCRT_IP2State32V4 ip2state_map;
|
||||
} MSCRT_ParsedFuncInfoV4;
|
||||
|
||||
//- Delay Load Helper
|
||||
|
||||
internal String8 mscrt_delay_load_helper_name_from_machine(COFF_MachineType machine);
|
||||
|
||||
//- Exception info < v4
|
||||
|
||||
internal U64 mscrt_parse_func_info(Arena *arena, String8 raw_data, U64 section_count, COFF_SectionHeader *sections, U64 off, MSCRT_FuncInfo *func_info);
|
||||
|
||||
Reference in New Issue
Block a user