| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 235488
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The TargetLayout class puts two sections into the same segment if they
have equal segment types and the same section flags (SHF_xxx). To be
able to merge some sort of sections into the same segment we drop some
flags before comparison. For example to merge string sections into Data
segment we drop SHF_STRINGS and SHF_MERGE flags.
The patch allows TargetLayout descendants to drop some target specific
section flags. MIPS target needs that to merge .MIPS.options section
which has SHF_MIPS_NOSTRIP flag into the LOAD segment.
http://reviews.llvm.org/D9160
llvm-svn: 235487
|
|
|
|
| |
llvm-svn: 235486
|
|
|
|
| |
llvm-svn: 235485
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 235484
|
|
|
|
|
|
|
| |
This method returns _flags field which has `uint64_t` type. Now the
field's type and the method's return type are consistent.
llvm-svn: 235393
|
|
|
|
|
|
|
|
|
|
| |
The `OutputSection::appendSection()` method always gets a pointer
to the `Section` class descendants. So it is not necessary to keep them
in the vector of `Chunk` pointers.
No functional changes.
llvm-svn: 235392
|
|
|
|
| |
llvm-svn: 235391
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 235390
|
|
|
|
|
|
| |
Sorry for the mistake/confusion.
llvm-svn: 235359
|
|
|
|
|
|
|
|
|
|
|
| |
There's (almost) never need to keep .L symbols around for production
builds. In fact, the FreeBSD kernel explicitly specify -X beacuse the
size impact (and the subsequent performance impact) might be significant,
because we keep symbols in memory.
I was tempted to make this the default, but I haven't (yet).
PR: 23232
llvm-svn: 235357
|
|
|
|
|
|
|
| |
If .MIPS.options section exists the DT_MIPS_OPTIONS tag should hold
an address of this section.
llvm-svn: 235290
|
|
|
|
| |
llvm-svn: 235289
|
|
|
|
| |
llvm-svn: 235288
|
|
|
|
|
|
|
|
|
| |
Before we only accepted --dynamic-linker=<file> and -dynamic-linker <file>
but older versions of GNU ld (e.g. 2.17.50) accept this other form, so
try to be compatible.
PR: 23233
llvm-svn: 235282
|
|
|
|
|
| |
PR: 23232
llvm-svn: 235247
|
|
|
|
| |
llvm-svn: 235217
|
|
|
|
| |
llvm-svn: 235216
|
|
|
|
| |
llvm-svn: 235182
|
|
|
|
| |
llvm-svn: 235033
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 235032
|
|
|
|
| |
llvm-svn: 235031
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 235030
|
|
|
|
| |
llvm-svn: 234991
|
|
|
|
| |
llvm-svn: 234989
|
|
|
|
| |
llvm-svn: 234981
|
|
|
|
|
|
| |
This is a retry of r234944.
llvm-svn: 234955
|
|
|
|
| |
llvm-svn: 234954
|
|
|
|
| |
llvm-svn: 234953
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This reverts commit r234944 because it seems to have broken the buildbots.
llvm-svn: 234946
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This is for consistency with what's used elsewhere in lld tree.
llvm-svn: 234943
|
|
|
|
| |
llvm-svn: 234938
|
|
|
|
| |
llvm-svn: 234936
|
|
|
|
| |
llvm-svn: 234935
|
|
|
|
| |
llvm-svn: 234934
|
|
|
|
| |
llvm-svn: 234932
|
|
|
|
|
|
| |
The size of AArch64TargetHander.cpp.o is now 4.1MB.
llvm-svn: 234931
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
We do not need to iterate over `_buckets` and `_chains` vectors and
write all elements one by one.
No functional changes.
llvm-svn: 234927
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 234926
|
|
|
|
| |
llvm-svn: 234925
|
|
|
|
|
|
| |
The size of AArch64TargetHandler.cpp.o is now 4.5MB.
llvm-svn: 234916
|
|
|
|
|
|
| |
This patch makes AArch64TargetHandler.cpp.o from 8.5MB to 6.8MB.
llvm-svn: 234914
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 234876
|
|
|
|
| |
llvm-svn: 234874
|
|
|
|
| |
llvm-svn: 234869
|