Skip to content

Issues identifying symbols on segments other than the first one #9

@AngheloAlf

Description

@AngheloAlf

flib may report the wrong address for symbols that are located on a segment after the first code segment (often referred to as boot).

This happens because flib doesn't account for segments not having contiguous vram addresses. This only happens when the code of a function is identified and the address of that function is calculated, getting symbol based on symbol references (relocations) doesn't seem to have this issue.
Because of this flib may report the same symbol twice with different addresses:

__MusIntMemInit, 0x80076360, 0x4C  (lib_memory, true)
__MusIntMemMalloc, 0x800763AC, 0x30  (lib_memory, true)

// ...

__MusIntMemInit, 0x8008F230, 0x0  (player, false)
__MusIntMemMalloc, 0x8008F27C, 0x0  (aud_dma, false)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions