| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
No functional changes.
llvm-svn: 233692
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 233618
|
|
|
|
|
|
|
|
| |
Type of `OutputSection::_type` field is int64_t. This change makes
the field's and the argument's types consistent and allows to assign
full range of values to the `OutputSection::_type` field.
llvm-svn: 233617
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 233616
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 233550
|
|
|
|
|
|
|
|
|
| |
Use of llvm::Optional is redundant here. Initializing by default value 0
is enough.
No functional changes.
llvm-svn: 233549
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 233548
|
|
|
|
|
|
|
|
|
| |
If input relocation records have RELA format while output dynamic
relocations have REL format the only way to transfer a dynamic
relocation addendum is to save it into the location modified by
the dynamic relocation.
llvm-svn: 233532
|
|
|
|
|
|
|
|
| |
Setting _alignment member varaible to 0 look suspicious since
the minimum alignment value is 1. I'm not going to change that
number in this patch, though.
llvm-svn: 233472
|
|
|
|
| |
llvm-svn: 233461
|
|
|
|
|
|
|
|
|
|
|
| |
If HAVE_CXXABI_H is not defined, this function is the identity function.
Because HAVE_CXXABI_H did not protect the entire function, it did
extra stuffs before returning the argument.
The new code calls fewer functions. This should help developers understand
this piece of code.
llvm-svn: 233460
|
|
|
|
| |
llvm-svn: 233458
|
|
|
|
| |
llvm-svn: 233456
|
|
|
|
| |
llvm-svn: 233454
|
|
|
|
| |
llvm-svn: 233453
|
|
|
|
| |
llvm-svn: 233452
|
|
|
|
| |
llvm-svn: 233450
|
|
|
|
| |
llvm-svn: 233449
|
|
|
|
| |
llvm-svn: 233434
|
|
|
|
| |
llvm-svn: 233424
|
|
|
|
| |
llvm-svn: 233423
|
|
|
|
| |
llvm-svn: 233418
|
|
|
|
|
|
|
| |
I actually spend my time to understand this piece of code
and then realized that this is all dead.
llvm-svn: 233417
|
|
|
|
|
|
|
| |
Some virtual member functions in ELF directory don't have
virtual type specifier. Add override to them.
llvm-svn: 233406
|
|
|
|
|
|
| |
Make these functions non-pure and define the default implementations.
llvm-svn: 233405
|
|
|
|
| |
llvm-svn: 233402
|
|
|
|
|
|
|
| |
We have GOTAtom and PLTAtom classes because GOT or PLT are acronyms.
"Dynamic offset table" or "dynamic" are not acronyms.
llvm-svn: 233401
|
|
|
|
| |
llvm-svn: 233400
|
|
|
|
|
|
|
|
|
|
| |
This includes relocs needed to link against glibc:
R_ARM_BASE_PREL
R_ARM_GOT_BREL
Every reloc is accompanied with a test case.
llvm-svn: 233383
|
|
|
|
| |
llvm-svn: 233374
|
|
|
|
| |
llvm-svn: 233372
|
|
|
|
| |
llvm-svn: 233344
|
|
|
|
| |
llvm-svn: 233319
|
|
|
|
| |
llvm-svn: 233316
|
|
|
|
|
|
|
|
| |
Most developers prefer to not have them, and we agreed to
remove them from LLD.
http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-March/083368.html
llvm-svn: 233313
|
|
|
|
|
|
|
|
|
|
| |
This diff includes implementation of linking calls to ifunc functions.
It provides ifunc entries in PLT and corresponding relocations (R_ARM_ALU_PC_G0_NC,
R_ARM_ALU_PC_G1_NC, R_ARM_LDR_PC_G2 for link-time and R_ARM_IRELATIVE for run-time).
Differential Revision: http://reviews.llvm.org/D7833
llvm-svn: 233277
|
|
|
|
| |
llvm-svn: 233268
|
|
|
|
| |
llvm-svn: 233267
|
|
|
|
|
|
|
|
|
|
|
| |
Mapping symbols should have their own code models,
and in some places must be treated in a specific way.
Make $t denote Thumb code, and $a and $d denote ARM code.
Set size, binding and type of mapping symbols to what the specification says.
Differential Revision: http://reviews.llvm.org/D8601
llvm-svn: 233259
|
|
|
|
|
|
| |
I believe "2" stands for log2. Just "align" would be appropriate now.
llvm-svn: 233248
|
|
|
|
| |
llvm-svn: 233247
|
|
|
|
|
|
|
| |
This is the final step of conversion. Now log2 numbers are removed
from everywhere!
llvm-svn: 233246
|
|
|
|
|
|
|
|
| |
This patch defines implicit conversion between integers and PowerOf2
instances, so uses of the classes is now implicit and look like
regular integers. Now we are ready to remove the scaffolding.
llvm-svn: 233245
|
|
|
|
|
|
|
| |
The new constructor's type is the same, but this one takes not a log2
value but an alignment value itself, so the meaning is totally differnet.
llvm-svn: 233244
|
|
|
|
|
|
|
| |
Ban conversion from integers to PowerOf2 even if explicit
to make all places we create PowerOf2 instances visible.
llvm-svn: 233243
|
|
|
|
|
|
|
|
|
|
| |
This patch is to make instantiation and conversion to an integer explicit,
so that we can mechanically replace all occurrences of the class with
integer in the next step.
Now get() returns an alignment value rather than its log2 value.
llvm-svn: 233242
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We are using log2 values and values themselves to represent alignments.
For example, alignment 8 is sometimes represented as 3 (8 == 2^3).
We want to stop using log2 values.
Because both types are regular arithmetic types, we cannot get help from
a compiler to find places we mix two representations. That makes this
merging work surprisingly hard because if I make a mistake, I'll just get
wrong results at runtime (Yay types!). In this patch, I introduced
a class to represents power-of-two values, which is basically an alias
for an integer type.
Once the migration is done, the class will be removed.
llvm-svn: 233232
|
|
|
|
| |
llvm-svn: 233222
|
|
|
|
| |
llvm-svn: 233219
|
|
|
|
|
|
|
| |
We cannot use "using" to inherit constructors because the feature
is not supported by MSVC 2013.
llvm-svn: 233218
|