plotfi added a comment. In D60974#1483209 <https://reviews.llvm.org/D60974#1483209>, @jakehehrlich wrote:
> I think I know the format that I'd like *roughly*. I haven't worked out how > to handle COMDAT and section groups yet. Roland seems to think that COMDAT > and section groups will be an issue but I'm working out the details with him > to make sure I understand it. I'll get back to you soon. > > > Version: 1.0 > Arch: AArch64 > Symbols: > - Name: foo > Type: Function > Weak: true > - Name: bar > Type: Function > Defined: false > - Name: baz > Type: Object > Size: 256 > Alignment: 32 > > > Also, curious on the lack of denoting the sections and which symbols go in which sections? Do you just assume that "Type: Object" goes into .data? > Only Arch is used other details from your header can be inferred as defaults > but are not needed here. I think binding is not needed beyond Weak vs. Not > Weak. I spoke with Roland about this and he pointed out STB_GNU_UNIQUE. This > would motivate allowing Global, Weak, and GNU_UNIQUE as valid bindings. The > only cases for viability that we care are protected and default. Internal and > hidden will never appear in the public interface. We can treat protected and > default as the same as they just mean that the symbol will appear in the > public interface and their difference is related to how the linker resolves > symbols relative to module itself not other external modules. > > We don't have to worry about symbol version (and the TextAPI types don't > support that yet either) but Warnings are another case to think about. Each > symbol can have a warning string associated with it. This will be one of the > last features (before symbol versions but after almost everyhing else) that > support is added for in llvm-elfabi so I think we can ignore it here for now. > > One thing we forgot to add in llvm-elfabi that we now know we need to add is > Alignment. Alignment can be computed from the section and the offset within > the section. This is the one bit of information that comes from the section > itself and not the symbol table. > > Absolute symbols probably aren't needed but if we ever need them they're easy > enough to add via a new symbol type. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60974/new/ https://reviews.llvm.org/D60974 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits