Add note to avoid symbol conflicts when delinking

This commit is contained in:
KeybadeBlox 2025-12-29 09:43:59 -05:00
parent 22a0e1fa9a
commit 9e638e0ec2

View file

@ -201,14 +201,20 @@ regenerating the table, however, make sure that you have all of it symbols
already in your project so that you don't end up deleting any. One option is already in your project so that you don't end up deleting any. One option is
to import `symboltable.tsv` into your project with the `ImportSymbolsScript.py` to import `symboltable.tsv` into your project with the `ImportSymbolsScript.py`
script as mentioned under "Creating a JSRF Ghidra Project," but be aware that script as mentioned under "Creating a JSRF Ghidra Project," but be aware that
this will overwrite any names you've assigned to the same symbols. this will overwrite any names you've assigned to the same symbols. You will
also have to ensure that no two symbols share the same name. This can be
avoided by using namespaces if need be (i.e. `X::symbol` and `Y::symbol` may
coexist), but function overloading must be avoided (you may not have one
function with the signature `void X::f(int)` and another with the signature
`void X::f(float)`), else errors can arise when delinking, as the delinker
extension does not mangle symbol names.
Once you're ready to export your symbols, open the symbol table Once you're ready to export your symbols, open the symbol table
(`Window > Symbol Table`). Open the symbol filter window (cog button near the (`Window > Symbol Table`). Open the symbol filter window (cog button near the
top right), and uncheck everything but "User Defined" under "Symbol Source," top right), and uncheck everything but "User Defined" under "Symbol Source,"
"Data Labels" and "Function Labels" under "Symbol Types," "Use Advanced "Data Labels" and "Function Labels" under "Symbol Types," "Use Advanced
Filters," and "Non-Externals" under "Non-Externals." This ensures that you Filters," and "Non-Externals" under "Non-Externals." This ensures that you
only export symbols that you've defined and are useful for delinking. only export symbols that you've defined and that are useful for delinking.
Now we need to configure the columns that we want to export. Right-click on Now we need to configure the columns that we want to export. Right-click on
one of the colum headers, click "Add/Remove Columns..." to open the "Select one of the colum headers, click "Add/Remove Columns..." to open the "Select