[llvm-dev] Asm Parser vars extraction

Brian Cain via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 8 18:01:12 PST 2021


I don't quite know exactly, but I suppose one way would be to modify
ELFWriter::writeSymbol() to emit something when a symbol appears that
matches your criteria.  I'm taking some liberty here assuming you can use
an ELF object file.  I imagine there's something similar for macho/coff.

Then again, that information is present in the object file too.  You could
use llvm-readelf or obj2yaml to extract what you want.

Maybe you could give a little more context about how you plan to use the
info and the community could offer a better answer.





On Mon, Feb 8, 2021 at 5:03 PM Pietro D'Ettole <
progettoiotpolimi2019 at gmail.com> wrote:

> Hi Brian, thanks for your reply.
>
> My goal is to be able to extract from an assembly file (i.e. source
> compiled to assembly, directly) the static global vars declared in the
> source. So far I haven't found any API in the llvm asm parser to serve my
> purpose. Do you know if/ how I can accomplish that?
>
> Thank you.
>
>
> Il giorno sabato 6 febbraio 2021, Brian Cain <brian.cain at gmail.com> ha
> scritto:
>
>> You need to extract it from the source?  Is it possible to use the
>> resulting object file instead?
>>
>> Note that there's no way to get an 'address' but you can get a section
>> offset. The section offset for both code and data are available in the
>> object file and from the assembler as it writes the object file.
>>
>> The contents of the assembly file - instructions and directives -
>> contribute to the resulting layout.  The AsmParser can find tokens and
>> build instructions but shouldn't know how it will get layed out.
>>
>> On Sat, Feb 6, 2021, 3:16 AM Pietro D'Ettole via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>>> Hi all,
>>>
>>> I'm a little bit stuck in code reading right now. Maybe some of you can
>>> help me to understand fast if what I need is feasible or not.
>>> I was trying to understand if currently asm parser in llvm allows to
>>> easily extract from an asm file variable names alongside with their values
>>> and their addresses.
>>>
>>> Thanks for the help!
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm-dev at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>

-- 
-Brian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210208/4b96096c/attachment.html>


More information about the llvm-dev mailing list