[PATCH] D60974: Clang IFSO driver action.

Jake Ehrlich via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 24 15:05:41 PDT 2019

jakehehrlich added a comment.

In D60974#1477690 <https://reviews.llvm.org/D60974#1477690>, @compnerd wrote:

> @jakehehrlich - when do you expect to have your idea put up?  I don't think that it is fair to have this wait until you have time to put something up that can be discussed.  I think that getting this working and then iterating on it and migrating it over to some shared representation is something which we could do - that tends to be a common thing that I have seen happen multiple times with the necessary work never materialising.  Re-use of the YAML structure means that we can iterate and identify the pieces that are necessary, though, I expect that largely, what will be needed is the name, the binding, the visibility, possibly the size (for TBEs), the section, and the type, at least for anything which adheres to the GABI.  If you have extensions outside of GABI, this will need to be adjusted.

I don't know when but in the next 2 days likely. Regardless of my timeline I don't think I'm blocking anyone. I'm just saying that I will put up a proposal. You should also put up a proposal as well. The yaml2obj format is just not well designed for any purpose but is far from designed for this purpose. yaml2obj works ok-ish for testing. I'd rather start with a minimal format and then add things to it rather than starting with a bloated and ill designed format and then create a new format from that experience. Creating a minimal format shouldn't be hard and I suspect our proposal will look extremely similar; I'd wager if you put up a proposal I'd probably just review your proposal rather than bother writing out my own.

As for what I think it would entail. I think name, weather or not the symbol is defined or undefined, visibility, size, alignment (this is a feature of the section and the symbol offset) and type will all mater but not all combinations make sense. Sections don't matter as it turns out but alignment does for copy relocations. When we started llvm-elfabi I thought at least the section permissions mattered but they don't really. While .tbe has things like soname and dt_needed that isn't needed here.  The top of the file should probably contain the architecture. Other details in the ELF header shouldn't be needed.

  rG LLVM Github Monorepo



More information about the cfe-commits mailing list