| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 190554
|
|
|
|
|
|
|
|
| |
-current_version, -compatibility_version, and -install_name.
Patch by Joe Ranieri
llvm-svn: 190452
|
|
|
|
|
|
|
|
| |
and a parsePackedVersion() utility.
Patch by Joe Ranieri
llvm-svn: 190451
|
|
|
|
| |
llvm-svn: 190302
|
|
|
|
|
|
|
|
|
| |
attribute in LinkerInput to isWholeArchive and use that for deciding
whether library archives should be expanded. Implement the -all_load
option of the Darwin linker using this flag and drop the support for it
in GNU mode.
llvm-svn: 190275
|
|
|
|
| |
llvm-svn: 190254
|
|
|
|
|
|
| |
reference. Move readFile logic into FileNode::createLinkerInput.
llvm-svn: 190253
|
|
|
|
|
|
| |
Patch by Ron Ofir.
llvm-svn: 190210
|
|
|
|
|
|
| |
Patch by Ron Ofir.
llvm-svn: 190198
|
|
|
|
|
|
| |
header.
llvm-svn: 190120
|
|
|
|
|
|
|
| |
Writable note sections if they exist should not appear before text
they belong in the data segment
llvm-svn: 190024
|
|
|
|
|
|
|
|
|
|
| |
It looks like there is a possibility of seeing RO/RW note sections
and we would need to create an appropriate RO/RW segment associated
with them.
Adds a test too.
llvm-svn: 189907
|
|
|
|
|
|
|
|
|
|
|
| |
The compiler is allowed to add a linker option starting with -?<name> to
.drectve section. If the linker can interpret -<name>, it's processed as if
there's no question mark there. If not, such option is silently ignored.
This is a COFF's feature to allow the compiler to emit new linker options
while keeping compatibility with older linkers.
llvm-svn: 189897
|
|
|
|
|
|
|
|
| |
Emit note sections if the input contains a note section.
Also emit a note segment.
llvm-svn: 189896
|
|
|
|
| |
llvm-svn: 189890
|
|
|
|
|
|
| |
calls of allocateString()
llvm-svn: 189881
|
|
|
|
| |
llvm-svn: 189877
|
|
|
|
| |
llvm-svn: 189876
|
|
|
|
| |
llvm-svn: 189874
|
|
|
|
| |
llvm-svn: 189873
|
|
|
|
|
|
| |
This adds init/fini support for Hexagon.
llvm-svn: 189872
|
|
|
|
|
|
|
|
|
|
| |
This changes the interface of createLinkerInput to use ErrorOr, so that
errors from the linker can be captured.
Also adds a convenience function for error strings to be returned from
file nodes.
llvm-svn: 189871
|
|
|
|
| |
llvm-svn: 189865
|
|
|
|
| |
llvm-svn: 189847
|
|
|
|
| |
llvm-svn: 189826
|
|
|
|
|
|
| |
dependencies should remain weak, not get promoted to undef or dropped.
llvm-svn: 189793
|
|
|
|
| |
llvm-svn: 189751
|
|
|
|
|
|
|
|
| |
This creates .init_array/.fini_array section for X86_64 ELF
targets and executes init/fini functions specified by the
-init/-fini options respectively.
llvm-svn: 189719
|
|
|
|
|
|
|
|
|
|
|
|
| |
available in YAML
This adds an API to the LinkingContext for flavors to add Internal files
containing atoms that need to appear in the YAML output as well, when -emit-yaml
switch is used.
Flavors can add more internal files for other options that are needed.
llvm-svn: 189718
|
|
|
|
|
|
|
|
|
| |
We added layout edges to the head atoms in grouped sections. That was wrong,
because the head atom needs to be followed by the other atoms in the *same*
section, not by the other section contents. With this patch, layout edges are
added from tail atom, which is the last atom in a section, to head atom.
llvm-svn: 189573
|
|
|
|
|
|
|
|
| |
Because of a bug, the last atom of each section contained a garbage at the
end of its data. In most cases the garbage is harmless but it could have cause
SEGV.
llvm-svn: 189572
|
|
|
|
| |
llvm-svn: 189570
|
|
|
|
|
|
|
|
| |
We were creating undefined atoms for common symbols by mistake. That did not
lead to a link failure, for undefined atoms would be resolved by common symbols
in the same file, but that's a waste of resource.
llvm-svn: 189534
|
|
|
|
|
|
|
|
|
| |
We scanned the symbol table twice; first to gather all regular symbols, and
second to process aux symbols. That's a bit inefficient and complicated. We
can instead cache aux symbols in the first pass, to eliminate the need of the
second pass.
llvm-svn: 189525
|
|
|
|
|
|
|
| |
This should have been done in r187823 when I renamed LinkingContext
from TargetInfo. I missed a few files.
llvm-svn: 189298
|
|
|
|
|
|
| |
Patch by Jesús Serrano García.
llvm-svn: 189267
|
|
|
|
|
|
|
|
|
|
| |
The cleanup includes :-
* Rename ambiguous Header class to ELFHeader
* Convert Chunk contentype and kind to be a enumerated class
* Remove functions that are not being used, avoids future confusion
llvm-svn: 189209
|
|
|
|
|
|
|
|
| |
This change processes fini_array section in addition to processing
init_array sections. This also makes functions registered at compile
time for initialization and finalization to be run during execution
llvm-svn: 189196
|
|
|
|
|
|
|
|
| |
in order to match link.exe's behaviour.
Patch by Ron Ofir.
llvm-svn: 189159
|
|
|
|
|
|
|
|
| |
There may be relocations that may be pointing to the section
even if the section sizes are 0. We shouldnot ignore them
for that regard.
llvm-svn: 189139
|
|
|
|
|
|
|
| |
There is no change in functionality, this uses the defined way to access
the relocation section that belongs to a particular section.
llvm-svn: 189138
|
|
|
|
|
|
|
|
|
|
|
| |
typeTLV content type is used by Darwin to represent thread local
storage. A new contentType has to be made to represent ELF
thread local storage data. These have been set to
- typeThreadZeroFill (represents TBSS storage)
- typeThreadData (represents TDATA storage)
llvm-svn: 189137
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BSS atoms dont take any file space in the Input file. They are associated
with a contentType(typeZeroFill). Similiar zero fill types also exist which
have the same meaning in terms of occupying file space in the Input.
These atoms have to be handled seperately when writing to the
lld's intermediate file or the lld test infrastructure.
Also adds a test.
llvm-svn: 189136
|
|
|
|
| |
llvm-svn: 189025
|
|
|
|
| |
llvm-svn: 188981
|
|
|
|
| |
llvm-svn: 188965
|
|
|
|
| |
llvm-svn: 188958
|
|
|
|
|
|
|
| |
This is a temporary measure because the semantics of the common symbol is
actually more compilcated than the simple mergeable symbol.
llvm-svn: 188235
|
|
|
|
|
|
| |
Patch by Ron Ofir.
llvm-svn: 188187
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The import name is not always the same as the symbol name. If the name/type
field in the import header is NOPREFIX or UNDECORATE, we need to strip some
characters from symbol to get its import name.
The Microsoft PE/COFF spec is vague if symbol contains more than two
consecutive characters to be stripped. We used to strip all characters,
but it doesn't seem right as we couldn't link against the system library
because of this name mangling. Looks like we shouldn't strip more than one
character.
llvm-svn: 188154
|