[PATCH] D25627: [ELF] Convert linker generated sections to input sections

Eugene Leviant via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 26 05:39:46 PDT 2016


evgeny777 added a comment.

Thanks for your comment, Peter.

a) SyntheticInputSection is actually a helper class to simplify conversion from output section to input section. It doesn't have any other purpose, just helper constructor and base interface which is partially moved from OutputSectionBase<ELFT>.

b) AFAIK thunks in lld are created in a different way: no input section is created for them, instead there is an array of Thunk<ELFT> objects which is member of InputSection<ELFT> class. This array is used to determine real section size. Real thunk code is generated when sections are written.

c) Like I said earlier both ld and gold don't generate .got section on 32 bit ARM platforms. I don't know if this would ever change. On the other hand lld sometimes doesn't create .got section when both ld and gold do. To abstract differences between 32 and 64 bit ARM we merge .got and .got.plt to a single section in linker scripts. Both gold and ld allow doing this. Another possible usage of this patch is discarding certain linker generated section in linker script, which can't be done now.


https://reviews.llvm.org/D25627





More information about the llvm-commits mailing list