| 39 | }; |
| 40 | |
| 41 | struct JumpTable { |
| 42 | uint32_t vram; |
| 43 | uint32_t addend_reg; |
| 44 | uint32_t rom; |
| 45 | uint32_t lw_vram; |
| 46 | uint32_t addu_vram; |
| 47 | uint32_t jr_vram; |
| 48 | uint16_t section_index; |
| 49 | std::optional<uint32_t> got_offset; |
| 50 | std::vector<uint32_t> entries; |
| 51 | |
| 52 | JumpTable(uint32_t vram, uint32_t addend_reg, uint32_t rom, uint32_t lw_vram, uint32_t addu_vram, uint32_t jr_vram, uint16_t section_index, std::optional<uint32_t> got_offset, std::vector<uint32_t>&& entries) |
| 53 | : vram(vram), addend_reg(addend_reg), rom(rom), lw_vram(lw_vram), addu_vram(addu_vram), jr_vram(jr_vram), section_index(section_index), got_offset(got_offset), entries(std::move(entries)) {} |
| 54 | }; |
| 55 | |
| 56 | enum class RelocType : uint8_t { |
| 57 | R_MIPS_NONE = 0, |
nothing calls this directly
no outgoing calls
no test coverage detected