| 93 | constexpr std::string_view DependencyBaseRecomp = "*"; |
| 94 | |
| 95 | struct Section { |
| 96 | uint32_t rom_addr = 0; |
| 97 | uint32_t ram_addr = 0; |
| 98 | uint32_t size = 0; |
| 99 | uint32_t bss_size = 0; // not populated when using a symbol toml |
| 100 | std::vector<uint32_t> function_addrs; // only used by the CLI (to find the size of static functions) |
| 101 | std::vector<Reloc> relocs; |
| 102 | std::string name; |
| 103 | uint16_t bss_section_index = (uint16_t)-1; |
| 104 | bool executable = false; |
| 105 | bool relocatable = false; // TODO is this needed? relocs being non-empty should be an equivalent check. |
| 106 | bool has_mips32_relocs = false; |
| 107 | bool fixed_address = false; // Only used in mods, indicates that the section shouldn't be relocated or placed into mod memory. |
| 108 | bool globally_loaded = false; // Only used in mods, indicates that the section's functions should be globally loaded. Does not actually load the section's contents into ram. |
| 109 | std::optional<uint32_t> got_ram_addr = std::nullopt; |
| 110 | }; |
| 111 | |
| 112 | struct ReferenceSection { |
| 113 | uint32_t rom_addr; |
nothing calls this directly
no outgoing calls
no test coverage detected