Re: Adding user-defined symbols to GDB

Jan Vrany via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
Hi,

On Wed, 2022-01-26 at 18:55 -0500, Matthew Rinaldi via Gdb wrote:
> Hello,
>
> I have a list of symbols that I have parsed out from a section within
> the binary. The data is not in any standard symbol table format. I have
> extracted the symbol's name and address. I want to add these symbols to
> GDB, but it is non-trivial. The solutions that I have seen for adding
> new user-defined symbols do not look ideal for a seemingly simple task.
>
> Example: https://github.com/mahaloz/decomp2gef/blob/main/decomp2gef.py#L247
>
> Is it possible to have a feature/command where the user could add
> symbols directly to GDB without the use of an objfile?
>
> I brought it up with Simon Marchi, and he said the following:
> > But off-hand, I don't see why this wouldn't be possible. Each objfile
> > could have a list of user-defined symbols, that lookup_symbol_in_objfile
> > would search in addition to the other regular methods.
>

I'm working in context of (language) VMs and have similar problem.
I have all my support code written in Python so it'd be nice if I could
do this kind of thing also from Python (as opposed to using "jit-reader"
interface to do this part or generating elf/PE/coff).

Maybe we can provide Python API similar to one of jit-reader to allow
one to build a symtab(s) and add them to (either existing of freshly
created) objfiles? We can provide "gdb.SymtabBuilder" python object to build
a symtab and then "install" it into objfile just like finalize_symtab()
does in jit.c (perhaps we can factor out some common code).

Jan

> Thank you,
> Matthew Rinaldi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.