[cfe-dev] Embedding Compiler Invocation in Object Files

Saleem Abdulrasool via cfe-dev cfe-dev at lists.llvm.org
Tue Jun 14 17:42:17 PDT 2016


On Tue, Jun 14, 2016 at 10:07 AM, Keno Fischer via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> I wanted to revive the idea of adding a feature that would have clang
> embed its invocation in the created object file (like a compilation
> database, but internal to the object file). I know this was discussed on
> the mailing list a few years ago, but as far as I'm aware, there wasn't any
> progress on this. My use case for this is debugging (rather than
> reconstruct a clang AST from debug info, just re-parse the correct
> translation unit and get the complete AST), but I know there are other
> people interested in this functionality as well. For my use case, I think
> I'd be happy associating this with the DWARF compilation unit (how to
> represent this would be something to be discussed, putting it into
> DW_AT_producer is probably simplest, but there may be other options).
> Thoughts?
>

If you wish to embed it into the DWARF data, then there is a well tested
vendor extension that Apple has in LLVM: DW_AT_APPLE_flags.

That said, I was already looking at adding similar functionality for
compatibility with GCC (-frecord-gcc-switches).  The way that this works is
that there is a special section embedded which contains an array of C
strings which is the command line.  The recorded invocation is the
*compiler* invocation, not the driver invocation.


> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>


-- 
Saleem Abdulrasool
compnerd (at) compnerd (dot) org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160614/c286105c/attachment.html>


More information about the cfe-dev mailing list