diff options
author | midipix <writeonce@midipix.org> | 2025-06-10 20:53:57 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2025-06-10 21:18:33 +0000 |
commit | cacb6ad607181f7b9655133884c1498c80936979 (patch) | |
tree | fe63f6276443f4dcf952547780ecbbb8b9bb0117 /src | |
parent | 1274f6b93b54ce1b463737d05af2088c2a2637d7 (diff) | |
download | perk-cacb6ad607181f7b9655133884c1498c80936979.tar.bz2 perk-cacb6ad607181f7b9655133884c1498c80936979.tar.xz |
pe_output_symbol_records_yaml(): weak extern characteristics: now described.
Diffstat (limited to 'src')
-rw-r--r-- | src/output/pe_output_image_symbols.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/output/pe_output_image_symbols.c b/src/output/pe_output_image_symbols.c index 34daedb..c3ad995 100644 --- a/src/output/pe_output_image_symbols.c +++ b/src/output/pe_output_image_symbols.c @@ -78,6 +78,13 @@ static const char * pe_sym_storage_class_desc[256] = { [PE_IMAGE_SYM_CLASS_END_OF_FUNC] = "end-of-function" }; +static const char * pe_weak_extern_switches[4] = { + [PE_IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY] = "do not perform a library search", + [PE_IMAGE_WEAK_EXTERN_SEARCH_LIBRARY] = "do perform a library search", + [PE_IMAGE_WEAK_EXTERN_SEARCH_ALIAS] = "apply weak alias semantics", +}; + + static int pe_output_symbol_names( const struct pe_driver_ctx * dctx, const struct pe_image_meta * meta, @@ -193,9 +200,10 @@ static int pe_output_symbol_records_yaml( if (pe_dprintf(fdout, " - [ tag-index: = %d ]\n" - " - [ tag-characteristics: = 0x%08X ]\n\n", + " - [ tag-characteristics: = 0x%01X (%s) ]\n\n", auxrec.aux_tag_index, - auxrec.aux_characteristics) < 0) + auxrec.aux_characteristics, + pe_weak_extern_switches[auxrec.aux_characteristics & 0x03]) < 0) return PERK_SYSTEM_ERROR(dctx); } } |