summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/tools/lld/ELF (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove LLVM 8.0.1 files.patrick2020-08-0366-30324/+0
|
* Sort relative relocations (and relocations against the same symbol) by offsetguenther2019-11-291-1/+8
| | | | | | to optimize the cache and UVM faulting behavior ok kettenis@
* Merge LLVM 8.0.1 release.patrick2019-09-012-11/+10
| | | | | | | Tested in snaps and package builds Tested on amd64 by naddy@ Tested on arm64 by patrick@ Tested on octeon by visa@
* Import LLVM 8.0.1 release including clang, lld and lldb.patrick2019-09-012-5/+15
|
* Merge LLVM 8.0.0 release.patrick2019-06-2314-1169/+1410
| | | | | | | | | Prepared with help from jsg@ and mortimer@ Tested on amd64 by bcallah@, krw@, naddy@ Tested on arm64 by patrick@ Tested on macppc by kettenis@ Tested on octeon by visa@ Tested on sparc64 by claudio@
* Import LLVM 8.0.0 release including clang, lld and lldb.patrick2019-06-2340-702/+2444
|
* Add support for -znoretpolineplt and make -zretpolineplt the default.guenther2019-05-131-2/+7
| | | | | | Affects i386 and amd64 only. ok deraadt@ kettenis@
* add "elf64_sparc" emulation name so ELF SPARCV9 format can be explicitlynaddy2019-04-261-0/+1
| | | | specified; suggested by and ok kettenis@
* On i386, produce binaries that are compatible with our W^X implementation.kettenis2019-01-281-0/+17
| | | | | | | | | | Note that this will still produce binaries that have the read-only segment placed before the executable segment. This means that on machines without the NX bit, the read-only segment is now executable. However on machines with an NX bit, the ordering used by lld means the program headers are no longer executable since they are now part of the read-only segment. ok deraadt@, naddy@
* Tedu files that got removed in LLVM 7.0.1.patrick2019-01-272-137/+0
|
* Merge LLVM 7.0.1 release.patrick2019-01-2712-1944/+3420
| | | | | With fixes from mortimer@ (thanks!) Tested by many, especially naddy@ (thanks!)
* Import LLVM 7.0.1 release including clang, lld and lldb.patrick2019-01-2745-1322/+3244
|
* Generate __data_start symbol that marks the start of .data when __data_startkettenis2018-10-243-0/+8
| | | | | | is referenced from code being linked. ok deraadt@, naddy@, guenther@
* Add support for -z initfirst.kettenis2018-10-233-0/+4
| | | | From upstream r335090. ok guenther@
* Accept both `--foo bar` and `--foo=bar` styles options.naddy2018-10-221-15/+13
| | | | | | | GNU linkers by convention supports both `--foo bar` and `--foo=bar` styles for all long options that take arguments. From upstream r326506. ok patrick@ kettenis@
* When merging sections into the output, lld tries to adjust the alignment ofkettenis2018-10-211-1/+3
| | | | | | | | | | the section to be at least as large as the entry size of the section. This causes a later check that validates the alignment to fail if the entry size isn't a power of two. This happens when building some of the java support code in ports gcc. Fix this by sticking to the original alignment if the entry size isn't a power of two. ok guenther@, naddy@
* Allow preemption of functions with protected visibility. Disallowing thiskettenis2018-09-291-1/+2
| | | | | | | | | | makes no sense. Yes it breaks function address equality and therefore the expectations of the standard C language. However declaring symbols with protected visibility isn't standard C in the first place. Fixes linking non-PIC/PIE code with lld on amd64. ok millert@
* Fix --exclude-libs option. Based on code already committed upstream.kettenis2018-09-111-1/+1
| | | | tested by naddy@
* Merge '.openbsd.randomdata.*' sections into a single '.openbsd.randomdata'guenther2018-06-121-1/+2
| | | | | | section when linking, as we do when using ld from binutils. ok mortimer@ deraadt@
* Work around a bug where discarding the .ARM.exidx section in the armv7 kernelkettenis2018-06-031-0/+3
| | | | | | | linker script makes ld.lld(1) crash. This has been fixed in a different (proper?) way upstream but backporting their fix is a bit too invasive. ok patrick@
* keep the STT_FILE symbol in the table so that we know what filerobert2018-04-121-1/+1
| | | | | | was used to compile and object ok kettenis@
* Tedu files that got removed in LLVM 6.0.0.patrick2018-04-064-349/+0
|
* Merge LLVM 6.0.0 release.patrick2018-04-0610-3243/+3639
|
* Import LLVM 6.0.1 release including clang, lld and lldb.patrick2018-04-0650-2706/+4965
| | | | "where is the kaboom?" deraadt@
* Make lld respect ALIGN directives on output sections even with -r. Fixeskettenis2018-01-011-5/+9
| | | | | | the generation of gap.o. ok patrick@
* Cherry-pick a change from LLD to make the behavior of the -v optionpatrick2017-12-261-3/+4
| | | | | | | | more closer to GNU linkers. This should help with autoconf/libtool compatibility in ports. Requested by Brad "no objection" kettenis@
* Merge LLVM 5.0.1 release.patrick2017-12-241-3/+9
|
* Import LLVM 5.0.1 release including clang, lld and lldb.patrick2017-12-241-1/+2
|
* kbind(2) for the win: we can always put .got.plt in RELROguenther2017-10-241-0/+4
| | | | ok kettenis@ deraadt@
* Tedu files that got removed in LLVM 5.0.0.patrick2017-10-041-369/+0
|
* Merge LLVM 5.0.0 release.patrick2017-10-048-1870/+2269
|
* Import LLVM 5.0.0 release including clang, lld and lldb.patrick2017-10-0454-7309/+9871
|
* Disable colored diagnostics in LLVM's lld.patrick2017-04-161-1/+1
| | | | Requested by deraadt@
* Add "supported targets" in lld --help output to be compatible with whatjsg2017-03-241-0/+13
| | | | | | | | libtool generated configure scripts expect. Otherwise they might assume shared libraries aren't supported. From lld svn revisions 298568 and 298571. Discussed with kettenis@
* Add "(compatible with GNU linkers)" to the lld version output to avoidjsg2017-03-241-4/+20
| | | | | | | | | problems with configure scripts generated with libtool.m4 that would otherwise have to be regenerated with a patched libtool. Among other things this fixes the build of Mesa on arm64 with lld. From lld svn revision 298532. ok kettenis@
* Work around a problem where linker-generated symbols are not properlykettenis2017-03-191-0/+6
| | | | | | | | | | versioned and end up as local symbols despite being explicitly listed as global in the version script. This breaks out brk()/sbrk() implementation. The diff is only a partial solution and unlikely to be accepted as-is upstream. We'll keep it as a local diff until a better solution is found. ok guenther@
* Add support for -znodlopen.kettenis2017-03-183-0/+4
| | | | ok patrick@
* Merge LLVM 4.0.0 release.patrick2017-03-143-38/+52
|
* Import LLVM 4.0.0 release including clang and lld.patrick2017-03-148-31/+42
|
* Make sure the .eh_frame ends with a terminator. This avoids creating akettenis2017-02-251-1/+1
| | | | | | | | | zero-sized .eh_frame section, which confuses the strip from our frankenbinutils. With this diff lld seems to be usable as the arm64 system linker. ok patrick@, jsg@
* Fix creation of the library name, as assigning a string to a StringRefpatrick2017-01-311-1/+2
| | | | | | | seems to cause bad behaviour. Instead call toStringRef() and use its return value. ok tom@
* PIE-by-default. Probably not suitable for upsttreaming in its current form.kettenis2017-01-241-0/+5
|
* Avoid allocating space for commons with ld -r. Already pushed upstream.kettenis2017-01-245-6/+25
|
* Handle the OpenBSD-style major/minor shared library version scheme.kettenis2017-01-241-1/+26
| | | | | | Don't try to upstream this; we are considering moving to a more standard way that uses symbolic links to point the linker at the right version of shared libraries.
* Merge LLVM 4.0.0 rc1patrick2017-01-242-195/+0
|
* Import LLVM 4.0.0 rc1 including clang and lld to help the currentpatrick2017-01-2444-6015/+11134
| | | | development effort on OpenBSD/arm64.
* Import LLVM 3.9.1 including clang and lld.patrick2017-01-1442-0/+15072