| 124 | }; |
| 125 | |
| 126 | struct ElfParsingConfig { |
| 127 | std::string bss_section_suffix; |
| 128 | // Functions with manual size overrides |
| 129 | std::unordered_map<std::string, size_t> manually_sized_funcs; |
| 130 | // The section names that were specified as relocatable |
| 131 | std::unordered_set<std::string> relocatable_sections; |
| 132 | // Symbols to ignore. |
| 133 | std::unordered_set<std::string> ignored_syms; |
| 134 | // Manual mappings of mdebug file records to elf sections. |
| 135 | std::unordered_map<std::string, std::string> mdebug_text_map; |
| 136 | std::unordered_map<std::string, std::string> mdebug_data_map; |
| 137 | std::unordered_map<std::string, std::string> mdebug_rodata_map; |
| 138 | std::unordered_map<std::string, std::string> mdebug_bss_map; |
| 139 | bool has_entrypoint; |
| 140 | int32_t entrypoint_address; |
| 141 | bool use_absolute_symbols; |
| 142 | bool unpaired_lo16_warnings; |
| 143 | bool all_sections_relocatable; |
| 144 | bool use_mdebug; |
| 145 | }; |
| 146 | |
| 147 | struct DataSymbol { |
| 148 | uint32_t vram; |
nothing calls this directly
no outgoing calls
no test coverage detected