- Aug 31, 2013
-
-
Shankar Easwaran authored
* Renames few tests which had extension objtxt to test * created core directory that contains all the core tests llvm-svn: 189720
-
Shankar Easwaran authored
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
-
Shankar Easwaran authored
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
-
- Aug 29, 2013
-
-
Rui Ueyama authored
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
-
Rui Ueyama authored
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
-
- Aug 28, 2013
-
-
Rui Ueyama authored
llvm-svn: 189505
-
Rui Ueyama authored
llvm-svn: 189423
-
Rui Ueyama authored
r189416 changed the order of command line options shown in help message, so the test needs adjusting. llvm-svn: 189417
-
- Aug 27, 2013
-
-
Rui Ueyama authored
Differential Revision: http://llvm-reviews.chandlerc.com/D1527 llvm-svn: 189318
-
Rui Ueyama authored
llvm-svn: 189308
-
Rui Ueyama authored
With this patch the entry symbol is treated as an undefined symbol, to force the resolver to resolve the entry symbol. Differential Revision: http://llvm-reviews.chandlerc.com/D1524 llvm-svn: 189307
-
- Aug 25, 2013
-
-
Shankar Easwaran authored
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
-
- Aug 24, 2013
-
-
Rui Ueyama authored
in order to match link.exe's behaviour. Patch by Ron Ofir. llvm-svn: 189159
-
- Aug 23, 2013
-
-
Tim Northover authored
The debug flag being checked for seems to be controlled by whether the build is asserts/non-asserts rather than debug/non-debug. Mostly these correlate, but not necessarily. As far as I can tell with various combinations of debug/assetions this change makes no difference on autotools builds, but fixes a check-all failure with CMake. llvm-svn: 189147
-
Shankar Easwaran authored
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
-
Shankar Easwaran authored
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
-
Shankar Easwaran authored
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
-
- Aug 22, 2013
-
-
Shankar Easwaran authored
llvm-svn: 188982
-
Shankar Easwaran authored
llvm-svn: 188981
-
Shankar Easwaran authored
llvm-svn: 188958
-
- Aug 13, 2013
-
-
Rui Ueyama authored
This is a temporary measure because the semantics of the common symbol is actually more compilcated than the simple mergeable symbol. llvm-svn: 188235
-
- Aug 12, 2013
-
-
Rui Ueyama authored
Patch by Ron Ofir. llvm-svn: 188187
-
Rui Ueyama authored
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
-
- Aug 09, 2013
-
-
Daniel Dunbar authored
llvm-svn: 188093
-
Rui Ueyama authored
__ImageBase is a symbol having 4 byte integer equal to the image base address of the resultant executable. The linker is expected to create the symbol as if it were read from a file. In order to emit the symbol contents only when the symbol is actually referenced, we created a pseudo library file to wrap the linker generated symbol. The library file member is emitted to the output only when the member is actually referenced, which is suitable for our purpose. llvm-svn: 188052
-
Rui Ueyama authored
The COMDAT section is a section with a special attribute to tell the linker whether the symbols in the section are allowed to be merged or not. This patch add a function to interpret the COMDAT data and set "merge" attribute to the atoms accordingly. LLD supports multiple policies to merge atoms; atoms can be merged by name or by content. COFF supports them, and in addition to that, it supports choose-the-largest-atom policy, which LLD currently does not support. I simply mapped it to merge-by-name attribute for now, but we eventually have to support that policy in the core linker. llvm-svn: 188025
-
Michael J. Spencer authored
llvm-svn: 188021
-
- Aug 08, 2013
-
-
Rui Ueyama authored
llvm-svn: 188011
-
- Aug 02, 2013
-
-
Rui Ueyama authored
Summary: The .drectve section contains linker command line options, and the linker is expected to interpret them as if they were given via the command line. In this patch, the command line parser in the driver is called from the object file reader to parse the string. I think this patch is important, because this is the first step towards mutable TargetInfo. We had a discussion about that on llvm-commits mailing list before. I haven't removed "const" from the function signature yet. Instead, I just use cast to remove "const". This is a temporary aid for an experiment. If we don't see any issue with this mutable TargetInfo appraoch, I'll change the function signature, and rename the class LinkerContext from TargetInfo. Reviewers: kledzik CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1246 llvm-svn: 187677
-
Rui Ueyama authored
Patch by Ron Ofir. llvm-svn: 187664
-
Rui Ueyama authored
llvm-svn: 187645
-
- Jul 31, 2013
-
-
Rui Ueyama authored
llvm-svn: 187460
-
- Jul 30, 2013
-
-
Rui Ueyama authored
This patch removes hacky mangle() function, which strips all decorations uncondtitionally. LLD now interprets Import Name/Type field in the import library properly as described in the Microsoft PE/COFF Spec. llvm-svn: 187388
-
- Jul 29, 2013
-
-
Rui Ueyama authored
llvm-svn: 187381
-
- Jul 27, 2013
-
-
Rui Ueyama authored
Some sections, such as with IMAGE_SCN_LNK_REMOVE attribute, is skipped in the first pass. Such sections need to be skipped in the latter passes. llvm-svn: 187281
-
- Jul 26, 2013
-
-
Rui Ueyama authored
Based on Ron Ofir's patch. llvm-svn: 187221
-
Reid Kleckner authored
llvm-svn: 187170
-
Reid Kleckner authored
llvm-svn: 187165
-
- Jul 25, 2013
-
-
Rui Ueyama authored
llvm-svn: 187100
-
Rui Ueyama authored
LLD still accepts both Unix and Windows style options when it's run as link.exe. This patch does not change functionality. llvm-svn: 187086
-