summaryrefslogtreecommitdiffstats
path: root/lld/lib
Commit message (Collapse)AuthorAgeFilesLines
* [lld][MachO] Recognize __thread_bss sections as zero-fill and set all theLang Hames2015-12-117-14/+39
| | | | | | | | | appropriate bits. This fixes the remaining clang regression test failures when linking clang with lld on Darwin. llvm-svn: 255390
* Verify that macho-o delta64 relocs have the same offset.Pete Cooper2015-12-102-21/+50
| | | | | | | | | | The delta64 relocation is represented as the pair ARM64_RELOC_SUBTRACTOR and ARM64_RELOC_UNSIGNED. Those should always have the same offset, so this adds a check and tests to ensure this is the case. Also updated the error printing in this case to shows both relocs when erroring on pair. llvm-svn: 255274
* [lld][MachO] Always reserve space for the empty string in the mach-o symbolLang Hames2015-12-101-1/+1
| | | | | | | | | | | | | table. The first entry in the MachO symbol table is always the empty string: make sure we reserve space for it, or we will overflow the symbol table by one byte. No test case - this manifests as an occasional memory error. In the near future I hope to set up a bot building and runnnig LLD with sanitizers - that should catch future instances of this issue. llvm-svn: 255178
* Don't bypass the GOT for delta32toGOT references.Pete Cooper2015-12-091-0/+6
| | | | | | | | | | | The gcc_except_tab was generating these references to point to the typeinfo in the data section. gcc_except_tab also had the DW_EH_PE_indirect flag set which means that at runtime we are going to dereference this entry as if it is in the GOT. Reviewed by Nick Kledzik in http://reviews.llvm.org/D15360. llvm-svn: 255085
* Rename ld.lld2 to ld.lld since it is the default.Rafael Espindola2015-11-181-1/+1
| | | | llvm-svn: 253437
* Make ELF2 the default.Rafael Espindola2015-11-171-2/+2
| | | | | | With this the only way to get the old elf linker is "-flavor old-elf". llvm-svn: 253318
* Rename gnu2 to gnu.Rafael Espindola2015-11-161-4/+4
| | | | | | This is the second step in making ELF2 the default. llvm-svn: 253270
* Rename the gnu flavour to gnu old.Rafael Espindola2015-11-161-9/+9
| | | | | | This is the first step in making ELF2 the default. llvm-svn: 253188
* Fix Clang-tidy modernize-use-auto warnings, other minor fixes.Eugene Zelenko2015-11-1013-109/+53
| | | | | | Differential revision: http://reviews.llvm.org/D14553 llvm-svn: 252661
* These are the matching changes needed to the lld project for the changes to llvmKevin Enderby2015-11-051-12/+22
| | | | | | | in r252192 that changed the Archive and Child interfaces in libObject. These include Rafael Espindola’s many suggested updates. llvm-svn: 252193
* Fix Clang-tidy modernize-use-override warnings, other minor fixes.Eugene Zelenko2015-11-041-5/+4
| | | | | | Differential revision: http://reviews.llvm.org/D14310 llvm-svn: 252034
* [lld][MachO] Make sure LC_RPATH command size is a multiple of the pointer size.Lang Hames2015-10-291-2/+2
| | | | llvm-svn: 251637
* [lld][MachO] Use a std::string rather than a StringRef for the section name inLang Hames2015-10-291-1/+1
| | | | | | | | | MachODefinedCustomSectionAtom. The section names for these atoms are initialized from temporaries (e.g. segName + "/" + sectName), so we can't use StringRef here. llvm-svn: 251610
* [Driver] Ignore -G option in both new and old ELF linkerSimon Atanasyan2015-10-281-0/+3
| | | | | | | This is optimization option that make sense for MIPS targets. We can safely ignore it now. llvm-svn: 251519
* [Driver] Accept both -m <emulation> and -m<emulation>Simon Atanasyan2015-10-281-1/+1
| | | | | | | | | GNU linkers accept both variants and at least for MIPS target gcc passes joined variant of the '-m' option. Differential Revision: http://reviews.llvm.org/D14133 llvm-svn: 251497
* [lld][Darwin] Add support for the -sectcreate option.Lang Hames2015-10-246-2/+132
| | | | llvm-svn: 251183
* [lld][MachO] Prune unused EH frames.Lang Hames2015-10-231-0/+51
| | | | llvm-svn: 251095
* Update lld to match llvm r250901. OptTable constructor now takes an ↵Craig Topper2015-10-214-4/+4
| | | | | | ArrayRef. NFC llvm-svn: 250904
* [lld][MachO] Fix indentation.Lang Hames2015-10-201-2/+2
| | | | llvm-svn: 250863
* [lld][MachO] Fix typo in comment.Lang Hames2015-10-201-1/+1
| | | | llvm-svn: 250861
* Simplify. NFC.Rafael Espindola2015-10-021-2/+2
| | | | llvm-svn: 249128
* Use ld.lld2 as a argv[0] alias.Rafael Espindola2015-10-021-1/+4
| | | | | | | | The reason for the name is so that we can run ./build/bin/clang -fuse-ld=lld2 test.o -o t llvm-svn: 249122
* [LLD] Fix Clang-tidy modernize-use-nullptr warnings; other minor cleanups.Rui Ueyama2015-10-024-20/+5
| | | | | | Patch from Eugene Zelenko! llvm-svn: 249111
* [lld][MachO] Fix a think-o to get the twolevel/dynamic_lookup test passing.Lang Hames2015-09-282-7/+5
| | | | llvm-svn: 248736
* [lld][MachO] Initial implementation of -flat_namespace and -undefined.Lang Hames2015-09-286-12/+167
| | | | | | | | | This is a basic initial implementation of the -flat_namespace and -undefined options for LLD-darwin. It ignores several subtlties, but the result is close enough that we can now link LLVM (but not clang) on Darwin and pass all regression tests. llvm-svn: 248732
* ELF/AMDGPU: Text section should be called .hsatextTom Stellard2015-09-252-3/+3
| | | | | | | | | | Reviewers: atanasyan, ruiu Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12447 llvm-svn: 248621
* Fix memory leak in FileArchive::find().Rui Ueyama2015-09-242-4/+17
| | | | | | Patch from George Rimar! llvm-svn: 248525
* [LLD][MachO] Fix a FIXME: Subtract base address from atom address when buildingLang Hames2015-09-212-1/+4
| | | | | | export trie. llvm-svn: 248217
* [Mips] Rejects all --hash-style arguments except 'sysv' in case of MIPS targetSimon Atanasyan2015-09-161-1/+7
| | | | | | MIPS ABI supports only --hash-style=sysv variant. llvm-svn: 247796
* [Mips] Do not show an error if R_MIPS_GPREL32 relocation has a non-local targetSimon Atanasyan2015-09-161-13/+0
| | | | | | This matches GNU linker behaviour. llvm-svn: 247795
* Fix Clang-tidy misc-use-override warnings, other minor fixes.Rui Ueyama2015-09-1012-66/+42
| | | | | | Patch from Eugene Zelenko! llvm-svn: 247323
* Fix -Wcovered-switch-default warnings.Rui Ueyama2015-08-311-4/+2
| | | | llvm-svn: 246419
* ELF: Fix "not all control paths return a value" warning.Rui Ueyama2015-08-311-12/+16
| | | | llvm-svn: 246417
* [Mips] Support grouping of multiple consecutive relocations in case of N32 ↵Simon Atanasyan2015-08-281-1/+15
| | | | | | and 64-bit MIPS ABIs llvm-svn: 246337
* [Mips] Support two more MIPS linking emulation options ↵Simon Atanasyan2015-08-281-2/+2
| | | | | | elf32btsmipn32/elf32ltsmipn32 llvm-svn: 246336
* [Mips] Make "emulation" option less dependent on the "-target" option.Simon Atanasyan2015-08-281-11/+7
| | | | | | | Now it is possible to have mips-linux-gnu-ld executable and link MIPS 64-bit little-endian binaries providing -melf64ltsmip command line argument. llvm-svn: 246335
* [Mips] Initial support of the MIPS N32 ABISimon Atanasyan2015-08-287-10/+117
| | | | llvm-svn: 246334
* ELF/AMDGPU: Add more misssing: using namespace lld;Tom Stellard2015-08-272-0/+2
| | | | | | Hopefully, this will resolve the remaining windows bot errors. llvm-svn: 246181
* ELF/AMDGPU: Add missing: using namespace lld; to try to fix windows botTom Stellard2015-08-271-0/+1
| | | | llvm-svn: 246179
* ELF/AMDGPU: Remove another unused private member variableTom Stellard2015-08-271-4/+1
| | | | llvm-svn: 246164
* ELF/AMDGPU: Remove unused private member variableTom Stellard2015-08-272-2/+1
| | | | | | This should fix the one of the failing bots. llvm-svn: 246160
* ELF/AMDGPU: Attempt to fix windows botsTom Stellard2015-08-271-0/+1
| | | | | | Broken by r246155. llvm-svn: 246159
* ELF: Add AMDGPU ReaderWriterTom Stellard2015-08-2716-3/+434
| | | | | | | | | This is a basic implementation that allows lld to emit binaries consumable by the HSA runtime. Differential Revision: http://reviews.llvm.org/D11267 llvm-svn: 246155
* [LinkerScript] Fix a crash when matching wildcards.Davide Italiano2015-08-221-2/+5
| | | | | | Submitted by: zan jyu via llvm-dev llvm-svn: 245792
* [Mips] Use 'or' for move instead of [d]addu in PLT entriesSimon Atanasyan2015-08-191-2/+2
| | | | | | | | Patch by Simon Dardis. Differential Revision: http://reviews.llvm.org/D12103 llvm-svn: 245491
* Update for llvm api change.Rafael Espindola2015-08-131-1/+1
| | | | llvm-svn: 244856
* Update for llvm api change.Rafael Espindola2015-08-132-9/+11
| | | | llvm-svn: 244849
* Wdeprecated: Remove unnecessary user-defined dtor that was getting in the ↵David Blaikie2015-08-121-1/+0
| | | | | | way of the default ops (copy construction, assignment, etc) llvm-svn: 244836
* [ELF] Remove TargetLayout::getCustomSegments methodsDenis Protivensky2015-08-122-23/+1
| | | | llvm-svn: 244747
* [LinkerScript] Process program header in PHDRS commandDenis Protivensky2015-08-125-60/+135
| | | | | | | | | | Add PT_PHDR segment depending on its availability in linker script's PHDRS command, fallback if no linker script is given. Handle FILEHDR, PHDRS and FLAGS attributes of program header. Differential Revision: http://reviews.llvm.org/D11589 llvm-svn: 244743
OpenPOWER on IntegriCloud