Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [Mips] Write DT_MIPS_OPTIONS tag to .dynamic section | Simon Atanasyan | 2015-04-20 | 1 | -0/+15 | |
| | | | | | | | If .MIPS.options section exists the DT_MIPS_OPTIONS tag should hold an address of this section. llvm-svn: 235290 | |||||
* | [Mips] Support R_MICROMIPS_PC18_S3/PC19_S2/PC21_S2/PC26_S2 relocations handling | Simon Atanasyan | 2015-04-20 | 1 | -4/+16 | |
| | | | | llvm-svn: 235289 | |||||
* | [Mips] Support R_MICROMIPS_GOT_DISP / PAGE / OFST relocations handling | Simon Atanasyan | 2015-04-20 | 2 | -2/+13 | |
| | | | | llvm-svn: 235288 | |||||
* | [GNU/ELF] Add support for -x/--discard-all. | Davide Italiano | 2015-04-18 | 1 | -0/+5 | |
| | | | | | PR: 23232 llvm-svn: 235247 | |||||
* | Delete dead code (again). | Rui Ueyama | 2015-04-17 | 1 | -61/+0 | |
| | | | | llvm-svn: 235217 | |||||
* | Delete dead code. | Rui Ueyama | 2015-04-17 | 1 | -61/+0 | |
| | | | | llvm-svn: 235216 | |||||
* | [ARM] Implement R_ARM_TLS_IE32 for dynamic executable | Denis Protivensky | 2015-04-17 | 3 | -1/+30 | |
| | | | | llvm-svn: 235182 | |||||
* | [Mips] clang-format the code | Simon Atanasyan | 2015-04-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 235033 | |||||
* | [Mips] Remove redundant `.got` section lookup | Simon Atanasyan | 2015-04-15 | 1 | -2/+1 | |
| | | | | | | No functional changes. llvm-svn: 235032 | |||||
* | [Mips] Create _GLOBAL_OFFSET_TABLE_ only if the .got section exists | Simon Atanasyan | 2015-04-15 | 3 | -2/+17 | |
| | | | | llvm-svn: 235031 | |||||
* | [Mips] Check `_gp_disp` symbol using a trivial string comparison | Simon Atanasyan | 2015-04-15 | 2 | -13/+1 | |
| | | | | | | No functional changes. llvm-svn: 235030 | |||||
* | [ARM] Don't generate veneers when bl->blx fixup is possible | Denis Protivensky | 2015-04-15 | 1 | -8/+39 | |
| | | | | llvm-svn: 234991 | |||||
* | [ARM] Pass Thumb flag to handler methods instead of atom | Denis Protivensky | 2015-04-15 | 1 | -10/+9 | |
| | | | | llvm-svn: 234989 | |||||
* | [ELF] Fix gcc -pedantic warnings (remove extra ';') | Denis Protivensky | 2015-04-15 | 3 | -3/+3 | |
| | | | | llvm-svn: 234981 | |||||
* | ELF: Attempt to simplify Segment::AssignVirtualAddress. | Rui Ueyama | 2015-04-14 | 1 | -1/+1 | |
| | | | | | | This is a retry of r234944. llvm-svn: 234955 | |||||
* | temporary | Rui Ueyama | 2015-04-14 | 1 | -13/+10 | |
| | | | | llvm-svn: 234954 | |||||
* | temporary | Rui Ueyama | 2015-04-14 | 1 | -123/+126 | |
| | | | | llvm-svn: 234953 | |||||
* | ELF: Move Instrcution definition to HexagonEncoding.h. | Rui Ueyama | 2015-04-14 | 2 | -28/+37 | |
| | | | | | | | | | | HexagonEncodings.h contains a list of bitmasks. The file is used only by HexagonRelocationHandler.cpp. The header is odd in the sense that it uses struct Instruction but it doesn't define the data type. This patch moves the struct definition to the header. llvm-svn: 234947 | |||||
* | Revert "ELF: Attempt to simplify Segment::assignVirtualAddress()." | Rui Ueyama | 2015-04-14 | 1 | -105/+123 | |
| | | | | | | This reverts commit r234944 because it seems to have broken the buildbots. llvm-svn: 234946 | |||||
* | ELF: Attempt to simplify Segment::assignVirtualAddress(). | Rui Ueyama | 2015-04-14 | 1 | -123/+105 | |
| | | | | | | | | | | | | | This function is too long and complicated. Looks like new code was added incrementaly without any refactoring. Maybe no one can describe its exact semantics any more? It even contains copy-pastes inside it. This patch is an (incomplete) attempt to simplify the function. I tried to mechanically translate code to another form more intelligible. I don't still understand the whole picture, but this patch shouldn't change the linker's functionality. llvm-svn: 234944 | |||||
* | Rename ExecutableAtom.hpp to ExecutableAtom.h | Davide Italiano | 2015-04-14 | 2 | -2/+2 | |
| | | | | | | This is for consistency with what's used elsewhere in lld tree. llvm-svn: 234943 | |||||
* | ELF: Remove redundant namespace qualifiers. | Rui Ueyama | 2015-04-14 | 24 | -55/+53 | |
| | | | | llvm-svn: 234938 | |||||
* | ELF: Simplify ELFDefinedAtom::contentType(). | Rui Ueyama | 2015-04-14 | 2 | -69/+43 | |
| | | | | llvm-svn: 234936 | |||||
* | ELF: Split Atoms.h to Atoms.{h,cpp}. | Rui Ueyama | 2015-04-14 | 3 | -361/+342 | |
| | | | | llvm-svn: 234935 | |||||
* | ELF: Split SegmentChunks.h to SegmentChunks.{h,cpp}. | Rui Ueyama | 2015-04-14 | 3 | -435/+469 | |
| | | | | llvm-svn: 234934 | |||||
* | ELF: Split HeaderChunks.h to HeaderChunks.{h,cpp}. | Rui Ueyama | 2015-04-14 | 4 | -179/+216 | |
| | | | | llvm-svn: 234932 | |||||
* | ELF: Split SectionChunks.h to SectionChunks.{h,cpp}. | Rui Ueyama | 2015-04-14 | 3 | -919/+1061 | |
| | | | | | | The size of AArch64TargetHander.cpp.o is now 4.1MB. llvm-svn: 234931 | |||||
* | [ELF] Use type helper Elf_Word instead of plain uint32_t data type | Simon Atanasyan | 2015-04-14 | 1 | -6/+9 | |
| | | | | | | | | That helps to correctly write content of hash table if target and host endianness are not the same. Right now that commit does not affect any supported targets. llvm-svn: 234928 | |||||
* | [ELF] Write whole std::vector using a single `memcpy` call | Simon Atanasyan | 2015-04-14 | 1 | -10/+3 | |
| | | | | | | | | | We do not need to iterate over `_buckets` and `_chains` vectors and write all elements one by one. No functional changes. llvm-svn: 234927 | |||||
* | [ELF] Remove redundant type cast to `char*` before passing array to memcpy | Simon Atanasyan | 2015-04-14 | 1 | -1/+1 | |
| | | | | | | No functional changes. llvm-svn: 234926 | |||||
* | [Mips] Write _DYNAMIC symbol on MIPS targets | Simon Atanasyan | 2015-04-14 | 1 | -0/+8 | |
| | | | | llvm-svn: 234925 | |||||
* | ELF: Split OutputELFWriter.h to OutputELFWriter.{h,cpp}. | Rui Ueyama | 2015-04-14 | 3 | -448/+461 | |
| | | | | | | The size of AArch64TargetHandler.cpp.o is now 4.5MB. llvm-svn: 234916 | |||||
* | ELF: Split TargetLayout.h into TargetLayout.{h,cpp}. | Rui Ueyama | 2015-04-14 | 3 | -681/+705 | |
| | | | | | | This patch makes AArch64TargetHandler.cpp.o from 8.5MB to 6.8MB. llvm-svn: 234914 | |||||
* | ELF: Remove ELFT template argument when referring the base class. | Rui Ueyama | 2015-04-14 | 13 | -49/+45 | |
| | | | | | | | | We don't need to repeat the template argument. They are not ambiguous. MIPS is parameterized for ELFT, so we can't do this for MIPS, though. llvm-svn: 234913 | |||||
* | Attempt to fix MSVC warning. | Rui Ueyama | 2015-04-14 | 1 | -2/+0 | |
| | | | | | | | | | | | This patch tries to fix the following MSVC warning. warning C4661: 'bool lld::elf::ELFFile<lld::elf::ELF32LE>::isCompatible(unsigned char,unsigned char)' : no suitable definition provided for explicit template instantiation request llvm-svn: 234909 | |||||
* | [ARM] Implement mapping symbols for PLT0 entry | Denis Protivensky | 2015-04-14 | 1 | -27/+34 | |
| | | | | llvm-svn: 234876 | |||||
* | [ARM] Move out mapping atom functionality to a separate class | Denis Protivensky | 2015-04-14 | 1 | -46/+36 | |
| | | | | llvm-svn: 234874 | |||||
* | Simplify short switch-cases. | Rui Ueyama | 2015-04-14 | 1 | -12/+2 | |
| | | | | llvm-svn: 234869 | |||||
* | Remove excessive parentheses. | Rui Ueyama | 2015-04-14 | 1 | -3/+3 | |
| | | | | llvm-svn: 234868 | |||||
* | ELF: Remove a header which is used only by one .cpp file. | Rui Ueyama | 2015-04-14 | 2 | -50/+28 | |
| | | | | | | | The data and the inline function defined in the header is used only by HexagonRelocationHandler.cpp. llvm-svn: 234867 | |||||
* | Fix indentation. | Rui Ueyama | 2015-04-14 | 1 | -6/+4 | |
| | | | | llvm-svn: 234866 | |||||
* | ELF: Fix odd initialization code. | Rui Ueyama | 2015-04-14 | 1 | -6/+4 | |
| | | | | llvm-svn: 234865 | |||||
* | temporary | Rui Ueyama | 2015-04-14 | 1 | -4/+3 | |
| | | | | llvm-svn: 234864 | |||||
* | ELF: Move function definitions from .h to .cpp. | Rui Ueyama | 2015-04-14 | 4 | -76/+87 | |
| | | | | llvm-svn: 234863 | |||||
* | ELF: Inline ELFReader typedefs which are used only once. | Rui Ueyama | 2015-04-14 | 6 | -30/+12 | |
| | | | | llvm-svn: 234862 | |||||
* | ELF: Make common strings file-scoped constants. | Rui Ueyama | 2015-04-14 | 1 | -12/+15 | |
| | | | | llvm-svn: 234861 | |||||
* | ELF: Make ARMELFMappingAtom a non-template class. | Rui Ueyama | 2015-04-14 | 1 | -13/+18 | |
| | | | | llvm-svn: 234860 | |||||
* | ELF: Remove this-> as much as we can. | Rui Ueyama | 2015-04-14 | 7 | -39/+38 | |
| | | | | | | | These this-> are there because their classes were templated. They are no longer templated. llvm-svn: 234859 | |||||
* | ELF: Remove ELFT parameter from ARMELFFile. | Rui Ueyama | 2015-04-14 | 2 | -36/+32 | |
| | | | | llvm-svn: 234858 | |||||
* | ELF: Make HexagonFile a non-template class. | Rui Ueyama | 2015-04-14 | 3 | -37/+34 | |
| | | | | llvm-svn: 234857 |