[PATCH] D60974: Clang IFSO driver action.

Jake Ehrlich via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 2 13:55:58 PDT 2019


jakehehrlich added a comment.

> Jake, I am still not sure what you would prefer for moving forward. The current patch can output the yaml format I originally proposed or the one that looks similar to the one you proposed. What I need to know is:
> 
> Do you want the merging if the "ifo" files to happen inside of llvm-elfabi?
>  Do you care if we upstream the yaml we proposed as a first step (which is really a distilled version of that yaml2obj can consume anyways. this right now functions actually) ???
>  Or, would you rather the ifo files be merged by a different separate tool (something maybe called llvm-ifsogen)???

This is my proposal:

1. We should plan on adding the code ofr merging these files inside of `llvm/tools/llvm-elfabi` but will it be a separate tool from `llvm-elfabi`. You can create "separate" tools in the same directory using the symlink trick. See llvm-ar and friends or llvm-objcopy and llvm-strip. The tool name can be discussed in review.
2. The yaml proposed thus far is not acceptable IMO for reasons already outlined but this can be discussed in code review. Before adding sections a clear reason for needing them is required which hasn't been given yet. Things can evolve and change later as needed but we should start with the minimum and add as needed later; not start with extra and remove later. Support for the new format should be added into TextAPI and in the review for that process we should discuss the format. After we add support for this new format into TextAPI we can add support for emitting this format into clang (well actually you can write the code whenever but I'm using "after" in a different sense here).
3. After support for emitting this is in clang has landed you can write the merging tool using the symlink trick. The merging tool should read in all the .ifo files and generate an ELFStub (see TextAPI/ELF) which can then be output using the code that I recently added you as a reviewer on. This will ensure that all of the stub solutions in llvm are consistent.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60974/new/

https://reviews.llvm.org/D60974





More information about the cfe-commits mailing list