- Oct 20, 2016
-
-
Eugene Leviant authored
This script below shouldn't include file and program headers to PT_LOAD segment, because it doesn't have PHDRS and FILEHDR attributes: PHDRS { all PT_LOAD; } SECTIONS { /* list of sections here */ } Differential revision: https://reviews.llvm.org/D25774 llvm-svn: 284709
-
George Rimar authored
In this patch partial gdb_index section is created. For costructing the .gdb_index section 6 steps should be performed (details are in SplitDebugInfo.cpp file header), this patch do first 3: Creates proper section header. Fills list of compilation units. Types CU list area is not supposed to be supported, so it is ignored and therefore can be treated as implemented either. Differential revision: https://reviews.llvm.org/D24706 llvm-svn: 284708
-
George Rimar authored
llvm-svn: 284705
-
Rui Ueyama authored
Also replace std::copy with memcpy because in other places we are using memcpy. llvm-svn: 284700
-
Rui Ueyama authored
llvm-svn: 284699
-
Rui Ueyama authored
llvm-svn: 284697
-
Rui Ueyama authored
This member is used only by LinkerDriver, so move it to LinkerDriver. llvm-svn: 284696
-
Rui Ueyama authored
llvm-svn: 284695
-
Rui Ueyama authored
llvm-svn: 284694
-
Rui Ueyama authored
-format=<foo>, -format <foo> and -b <foo> are all the same. Previous code was intended to produce an error message with the same spelling as given from the command line, but it actually always printed out this string: "unknown -format= value:". This is probably more confusing than "unknown -format value:". So I changed the message. llvm-svn: 284693
-
Rui Ueyama authored
llvm-svn: 284692
-
Rui Ueyama authored
llvm-svn: 284687
-
Reid Kleckner authored
Use size_t instead of ELFT::uint for the string table offset. If the linker is built 32-bit, it can't write an output file larger than 2GB. Other code in this area uses size_t as well. llvm-svn: 284680
-
Rui Ueyama authored
Previously, we were checking the existence of an entry symbol too early. It was done before the linker script processor creates symbols defined in scripts. Fixes bug 30743. llvm-svn: 284676
-
Rui Ueyama authored
llvm-svn: 284675
-
Michael J. Spencer authored
llvm-svn: 284670
-
Rafael Espindola authored
We don't gc them anyway, so just use an early return in Enqueue. llvm-svn: 284663
-
Rui Ueyama authored
Fixes bug 30741. llvm-svn: 284662
-
- Oct 19, 2016
-
-
Rui Ueyama authored
llvm-svn: 284641
-
Rui Ueyama authored
This is what other linkers and clang driver do. Differential Revision: https://reviews.llvm.org/D25780 llvm-svn: 284634
-
Rui Ueyama authored
Other error messages don't end with ".". llvm-svn: 284625
-
Simon Atanasyan authored
llvm-svn: 284614
-
Eugene Leviant authored
Linker scripts may specify PHDRS, but not specify section to segment assignments, i.e: PHDRS { seg PT_LOAD; } SECTIONS { .sec1 {} : seg .sec2 {} } In such case linker should still choose some segment for .sec2 section. This patch will add .sec2 to previously opened segments (seg) or to the very first PT_LOAD segment, if no section-to-segment assignments has been made Differential revision: https://reviews.llvm.org/D24795 llvm-svn: 284600
-
Rafael Espindola authored
We were already doing it for strings. This matches the behavior of bfd and gold. llvm-svn: 284598
-
Rafael Espindola authored
Even with the hash table cache, binary search was still pretty hot. This can be made even faster with prefetching. Idea from http://cglab.ca/~morin/misc/arraylayout-v2/ I will suggest moving this to llvm. llvm-svn: 284594
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D25729 llvm-svn: 284575
-
- Oct 18, 2016
-
-
Justin Lebar authored
Summary: This uses one less word on 64-bit platforms, so should be a strict improvement. This change also lets us get rid of llvm::CachedHash. Reviewers: rafael, timshen Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25646 llvm-svn: 284502
-
Rafael Espindola authored
The table was still being resized as grow doesn't account for the fact that the table needs to remain 3/4 full. llvm-svn: 284487
-
George Rimar authored
Both gold and ld accepts integers instead of named constants for PHDRS. Patch adds support for that. Differential revision: https://reviews.llvm.org/D25549 llvm-svn: 284470
-
Justin Lebar authored
Summary: Reclaiming the name 'CachedHashString' will let us add a type with that name that owns its value. Reviewers: timshen Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25644 llvm-svn: 284434
-
- Oct 17, 2016
-
-
Rafael Espindola authored
This is not particularly efficient, but does avoid exposing Comdat* out of LTO.h. I will send a patch for review with a more efficient interface that should map nicely to a bitcode symbol table. llvm-svn: 284413
-
Rafael Espindola authored
llvm-svn: 284409
-
Justin Bogner authored
Thanks to Rafael for pointing out the simplification. llvm-svn: 284407
-
Peter Smith authored
The R_ARM_TARGET2 relocation is used in ARM exception tables to encode a data dependency that will only be dereferenced by code in the run-time support library. In a similar way to R_ARM_TARGET1 the handling of the relocation is target specific, it maps to one of R_ARM_ABS32, R_ARM_REL32 or R_ARM_GOT_PREL. The choice depends on the run-time library. R_ARM_GOT_PREL is used for linux and BSD, R_ARM_ABS32 and R_ARM_REL32 are used for bare-metal. The command line option --target2=<target> can be used to select the relocation used for R_ARM_TARGET2. The default is R_ARM_GOT_PREL. Differential revision: https://reviews.llvm.org/D25684 llvm-svn: 284404
-
Rui Ueyama authored
skip() and skip(StringRef) were overloaded functions that have different semantics. This patch rename one of the functions to avoid function overloading. llvm-svn: 284396
-
George Rimar authored
This is https://llvm.org/bugs/show_bug.cgi?id=30696, Differential revision: https://reviews.llvm.org/D25676 llvm-svn: 284388
-
George Rimar authored
In continue of D25555, this patch fixes possible crash when we have multiple SHT_MIPS_REGINFO or SHT_MIPS_ABIFLAGS sections. yaml2obj was used to produce such objects. Differential revision: https://reviews.llvm.org/D25609 llvm-svn: 284376
-
Justin Bogner authored
Most functions that return StringRef should check their return values, so I'm planning on marking StringRef [[nodiscard]]. This requires splitting up functions like next() that are sometimes just used for side effects. llvm-svn: 284363
-
Justin Bogner authored
While the toStringRef API almost certainly ends up populating the SmallString here, the correct way to use this API is to use the return value. llvm-svn: 284361
-
- Oct 14, 2016
-
-
George Rimar authored
This is 30646. PT_OPENBSD_RANDOMIZE The array element specifies the location and size of a part of the memory image of the program that must be filled with random data before any code in the object is executed. The memory region specified by a segment of this type may overlap the region specified by a PT_GNU_RELRO segment, in which case the intersection will be filled with random data before being marked read-only. Reference links: http://man.openbsd.org/OpenBSD-current/man5/elf.5 https://github.com/openbsd/src/commit/c494713c450d98da3f2e1451ee8c7fb675a7c461 Differential revision: https://reviews.llvm.org/D25469 llvm-svn: 284234
-