- Oct 21, 2016
-
-
Rui Ueyama authored
llvm-svn: 284806
-
Rui Ueyama authored
llvm-svn: 284805
-
Rui Ueyama authored
llvm-svn: 284804
-
Rui Ueyama authored
In-memory ELF object files created here are consumed immediately, so as long as the generated files are syntactically correct, we don't care about the details. llvm-svn: 284803
-
Rui Ueyama authored
llvm-svn: 284790
-
- Oct 20, 2016
-
-
Rui Ueyama authored
Now that only one non-member function is exported from ELFCreator.h. All the details are handled internally in ELFCreator.cpp file. llvm-svn: 284786
-
Konstantin Zhuravlyov authored
This is needed for the following case (OpenCL example): __global int Var = 0; __global int* Ptr[] = {&Var}; ... Differential Revision: https://reviews.llvm.org/D25815 llvm-svn: 284764
-
Rui Ueyama authored
llvm-svn: 284758
-
Simon Atanasyan authored
llvm-svn: 284751
-
Simon Atanasyan authored
[ELF][MIPS] Separate calculation of MIPS GOT index and offset of the corresponding part of the GOT. NFC MIPS GOT consists of some parts: local, global, TLS entries. This change separates calculation of MIPS GOT index and offset of the corresponding part of the GOT. That makes code a bit clear and allow to extend number of parts in the future. llvm-svn: 284750
-
Hans Wennborg authored
Builds were failing with: InputSection.h(139): error C2338: SectionPiece is too big because MSVC does record layout differently, probably not packing the 'OutputOff' and 'Live' bitfields because their types are of different size. Using size_t for 'Live' seems to fix it. llvm-svn: 284740
-
Benjamin Kramer authored
llvm-svn: 284739
-
Rafael Espindola authored
We allocate a lot of these when linking debug info. This speeds up the link of debug programs by 1% to 2%. llvm-svn: 284716
-
Peter Smith authored
The R_ARM_PREL31 and R_ARM_NONE relocations should not be faulted in shared libraries. In the case of R_ARM_NONE, we have moved the TLS relaxation hint instruction to R_TLSDESC_CALL so that R_HINT can be used without side-effects. In the case of R_ARM_PREL31 we permit it to be used against PLT entries as the personality routines are imported when used in shared libraries. Differential Revision: https://reviews.llvm.org/D25721 llvm-svn: 284710
-
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
-