| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
No functional changes.
llvm-svn: 232914
|
|
|
|
| |
llvm-svn: 232806
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 232761
|
|
|
|
| |
llvm-svn: 232757
|
|
|
|
| |
llvm-svn: 232756
|
|
|
|
| |
llvm-svn: 232755
|
|
|
|
| |
llvm-svn: 232707
|
|
|
|
| |
llvm-svn: 232706
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 232705
|
|
|
|
|
|
|
|
|
|
| |
Puts symbols defined in linker script expressions in a runtime file that is
added as input to the resolver, making the input object files see symbols
defined in linker scripts.
http://reviews.llvm.org/D8263
llvm-svn: 232409
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit implements the behaviour of the SECTIONS linker script directive,
used to not only define a custom mapping between input and output sections, but
also order input sections in the output file. To do this, we modify
DefaultLayout with hooks at important places that allow us to re-order input
sections according to a custom order. We also add a hook in SegmentChunk to
allow us to calculate linker script expressions while assigning virtual
addresses to the input sections that live in a segment.
Not all SECTIONS constructs are currently supported, but only the ones that do
not use special sort orders. It adds two LIT test as practical examples of
which sections directives are currently supported.
In terms of high-level changes, it creates a new class "script::Sema" that owns
all linker script ASTs and the logic for linker script semantics as well.
ELFLinkingContext owns a single copy of Sema, which will be used throughout
the object file writing process (to layout sections as proposed by the linker
script).
Other high-level change is that the writer no longer uses a "const" copy of
the linking context. This happens because linker script expressions must be
calculated *while* calculating final virtual addresses, which is a very late
step in object file writing. While calculating these expressions, we need to
update the linker script symbol table (inside the semantics object), and, thus,
we are "modifying our context" as we prepare to write the file.
http://reviews.llvm.org/D8157
llvm-svn: 232402
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 232364
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 232363
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 232362
|
|
|
|
| |
llvm-svn: 232361
|
|
|
|
| |
llvm-svn: 232360
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 232359
|
|
|
|
|
|
| |
Fix ambiguous finalize function.
llvm-svn: 232250
|
|
|
|
|
|
|
|
| |
template class instantiation
No functional changes.
llvm-svn: 232081
|
|
|
|
|
|
| |
We dropped Visual Studio 2012 support, so we can use template aliases.
llvm-svn: 231756
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 231646
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 231645
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 231644
|
|
|
|
| |
llvm-svn: 231643
|
|
|
|
| |
llvm-svn: 231642
|
|
|
|
|
|
|
|
|
|
|
| |
1. Move relocation addendum reading code to the MipsRelocationHandler
class to reduce code duplication.
2. Factor out the relocations calculation code into the separate
function to be ready to handle MIPS N64 ABI relocation chains.
No functional changes.
llvm-svn: 231641
|
|
|
|
| |
llvm-svn: 231640
|
|
|
|
|
|
|
|
| |
We should not take in account a type of "source" symbol. Cross mode jump
adjustment is requred when target symbol and relocation belong to
different (regular/microMIPS) instruction sets.
llvm-svn: 231639
|
|
|
|
| |
llvm-svn: 230726
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 230677
|
|
|
|
|
|
|
|
|
|
|
| |
In LLD's model, symbol is a property of the node (atom) and not a property of
edge (reference). Prior to this patch, we stored the symbol in the reference.
From post-commit comments, it seemed better to create a map from the reference
to the symbol instead and use this mapping wherever desired.
Address comments from Ruiu/Simon Atanasyan.
llvm-svn: 230273
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SHF_GROUP: Group Member Sections
----------------------------------
A section which is part of a group, and is to be retained or discarded with the
group as a whole, is identified by a new section header attribute: SHF_GROUP
This section is a member (perhaps the only one) of a group of sections, and the
linker should retain or discard all or none of the members. This section must be
referenced in a SHT_GROUP section. This attribute flag may be set in any section
header, and no other modification or indication is made in the grouped sections.
All additional information is contained in the associated SHT_GROUP section.
SHT_GROUP: Section Group Definition
-------------------------------------
Represents a group section.
The section group's sh_link field identifies a symbol table section, and its
sh_info field the index of a symbol in that section. The name of that symbol is
treated as the identifier of the section group.
More information: https://mentorembedded.github.io/cxx-abi/abi/prop-72-comdat.html
Added a lot of extensive tests, that tests functionality.
llvm-svn: 230195
|
|
|
|
|
|
|
|
|
| |
Relocation handling need more information about the Symbol that we are creating
references for.
No change in functionality.
llvm-svn: 230191
|
|
|
|
| |
llvm-svn: 230166
|
|
|
|
|
|
|
|
|
| |
Now since the correct file path for atoms is available and not clobbered,
commit r222309 which was reverted previously can be added back.
No change in functionality.
llvm-svn: 230138
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 229453
|
|
|
|
| |
llvm-svn: 229442
|
|
|
|
| |
llvm-svn: 229441
|
|
|
|
|
|
|
|
| |
separate functions
No functional changes.
llvm-svn: 229440
|
|
|
|
| |
llvm-svn: 229055
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the LinkingContext parameter to the ELFReader. Previously the flags in
that were needed in the Context was passed to the ELFReader, this made it very
hard to access data structures in the LinkingContext when reading an ELF file.
This change makes the ELFReader more flexible so that required parameters can be
grabbed directly from the LinkingContext.
Future patches make use of the changes.
There is no change in functionality though.
llvm-svn: 228905
|
|
|
|
| |
llvm-svn: 228476
|
|
|
|
| |
llvm-svn: 228453
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D7225
llvm-svn: 227320
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 227297
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 227245
|
|
|
|
| |
llvm-svn: 227244
|
|
|
|
|
|
|
|
|
|
|
| |
Misread buildbot's log.
Both gcc and clang compile this fine.
Original fix reason:
gcc allows template specializations only in the same namespace
where template has been declared.
llvm-svn: 227183
|
|
|
|
|
|
| |
The buildbot reported build failures for clang.
llvm-svn: 227179
|
|
|
|
|
|
|
| |
gcc allows template specializations only in the same namespace
where template has been declared.
llvm-svn: 227177
|