llvm-project/lld
George Rimar 28ac19c9ee [ELF] - Linkerscript: do not define _edata,_end,_etext if SECTIONS is used.
I faced that when tried to link FreeBSD kernel. 
It was "duplicate symbol: _edata in (internal) and (internal)" error.
_data was a shared symbol that came from hack.so. At first it was replaced with DefinedRegular by the code
disabled in this patch and later when script tried to define the same symbol - the error was shown.

In the same situation (as given in testcase) ld defines them as UND. gold defines as ABS with zero value. 
Patch just disables any operations of creating these symbols if script do layout.

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

llvm-svn: 277986
2016-08-08 08:42:48 +00:00
..
COFF Unpollute the global namespace. lld edition. 2016-08-06 13:52:37 +00:00
ELF [ELF] - Linkerscript: do not define _edata,_end,_etext if SECTIONS is used. 2016-08-08 08:42:48 +00:00
cmake/modules
docs fix warning when generating sphinx doc. 2016-07-21 02:27:05 +00:00
include/lld [MachO/Core] Remove (now) unused static member function. NFCI. 2016-08-04 19:49:11 +00:00
lib Unpollute the global namespace. lld edition. 2016-08-06 13:52:37 +00:00
test [ELF] - Linkerscript: do not define _edata,_end,_etext if SECTIONS is used. 2016-08-08 08:42:48 +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 Fix Clang-tidy misc-unused-using-decls and Include What You Use warnings. 2016-04-21 17:14:10 +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.