[PATCH] D25627: [ELF] Allow linker script to use .got and .got.plt sections as inputs

Eugene Leviant via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 14 10:52:11 PDT 2016


evgeny777 created this revision.
evgeny777 added reviewers: ruiu, rafael.
evgeny777 added subscribers: grimar, ikudrin, llvm-commits.
evgeny777 set the repository for this revision to rL LLVM.
evgeny777 added a project: lld.

ld/gold allow using linker generated sections as inputs to create some other output sections, for example:

  SECTIONS {
    .got : { *(.got.plt) *(.got) }
  }

This will create single output section .got with contents of linker generated .got and .got.plt section. This patch makes it possible to do the same
This is done by means of using 'proxy' input section, which holds pointer to linker generated section and can be added to OutputSection<ELFT>, 
just like any other regular input section can. In future this can also be used to create single output section for mergeable/non-mergeable inputs,
if linker script demands this.


Repository:
  rL LLVM

https://reviews.llvm.org/D25627

Files:
  ELF/InputSection.cpp
  ELF/InputSection.h
  ELF/LinkerScript.cpp
  ELF/LinkerScript.h
  ELF/Writer.cpp
  test/ELF/linkerscript/output-to-input.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25627.74713.patch
Type: text/x-patch
Size: 8180 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161014/cfc1483d/attachment.bin>


More information about the llvm-commits mailing list