llvm-project/lld
George Rimar 07171f21d1 [ELF] - Linkerscript: support complex section pattern grammar.
This is PR30442.
Previously we were failed to parce complex expressions like:
foo : { *(SORT_BY_NAME(bar) zed) }

Main idea of patch that globs and excludes can be wrapped in a SORT.
There is a difference in semanics of ld/gold:
ld likes:
*(SORT(EXCLUDE_FILE (*file1.o) .foo.1))

gold likes:
*(EXCLUDE_FILE (*file1.o) SORT(.foo.1))

Patch implements ld grammar, complex expressions like 
next is not a problem anymore:
.abc : { *(SORT(.foo.* EXCLUDE_FILE (*file1.o) .bar.*) .bar.*) }


Differential revision: https://reviews.llvm.org/D24758

llvm-svn: 282078
2016-09-21 15:56:44 +00:00
..
COFF Partially fill Info stream with proper values. 2016-09-16 22:51:17 +00:00
ELF [ELF] - Linkerscript: support complex section pattern grammar. 2016-09-21 15:56:44 +00:00
cmake/modules
docs fix warning when generating sphinx doc. 2016-07-21 02:27:05 +00:00
include/lld ADT: Remove uses of ilist_*sentinel_traits, NFC 2016-08-22 18:59:33 +00:00
lib [MachO] Factor out a fair amount of duplicated code. NFCI. 2016-09-12 21:07:26 +00:00
test [ELF] - Linkerscript: support complex section pattern grammar. 2016-09-21 15:56:44 +00:00
tools/lld Update error message to use "ld.lld" instead of "lld -flavor gnu". 2016-07-14 17:57:33 +00:00
unittests [Cmake] Use Cmake's default RPATH for unittest. 2016-09-12 20:44:53 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.clang-format
.gitignore Update .gitignore to ignore hidden MacOSX Finder droppings 2014-07-16 21:01:17 +00:00
CMakeLists.txt Inline a trivial CMakeLists.txt. 2016-03-03 01:56:23 +00:00
CODE_OWNERS.TXT Add initial CODE_OWNERS.TXT file 2015-07-25 00:44:37 +00:00
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:40:59 +00:00
README.md

README.md

LLVM Linker (lld)

This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.

lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.