[PATCH] D22674: [ELF] - Linkerscript: implemented ALIGN modificatior of output sections.

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 25 01:00:33 PDT 2016


grimar added a comment.

So, the full description of an output section looks like this:
(https://sourceware.org/binutils/docs/ld/Output-Section-Description.html#Output-Section-Description)

  section [address] [(type)] :
    [AT(lma)]
    [ALIGN(section_align) | ALIGN_WITH_INPUT]
    [SUBALIGN(subsection_align)]
    [constraint]
    {
      output-section-command
      output-section-command
      ...
    } [>region] [AT>lma_region] [:phdr :phdr ...] [=fillexp] [,]

There are just a few things that can be between ":" and "{". One of them is ALIGN.
ALIGN also can be meet ar regulat command after "{", but it will have different meaning,
it will work with localcounter that is not absolete address, but offset from start of the section.
This way I think it is unnatural to treat everything between ":" and "{" as possible expression,
as the only possible expression is ALIGN. But that is not expression, but output section modificator.
So I believe logic of the patch is fine, I just plan to rebase it after recent changes soon.


https://reviews.llvm.org/D22674





More information about the llvm-commits mailing list