Rui Ueyama
87b9703ec4
[PECOFF] Add a comment on the idata section fragments.
...
llvm-svn: 187484
2013-07-31 05:10:20 +00:00
Rui Ueyama
a0016db818
Fix comment.
...
llvm-svn: 187461
2013-07-30 23:20:10 +00:00
Rui Ueyama
dcf09476ff
[PECOFF] Emit BSS section.
...
llvm-svn: 187460
2013-07-30 22:56:46 +00:00
Rui Ueyama
7ae6ffd3d2
[PECOFF] Split COFFDefinedAtom to add COFFBSSAtom class.
...
The BSS atom is similar to the regular defined atom, but it's different
in the sense that it does not have contents. Until now we assumed all the
defined atoms have its contents. That did not fit well to the BSS atom.
llvm-svn: 187453
2013-07-30 21:54:10 +00:00
Rui Ueyama
85cd10ffa0
[PECOFF][Driver] Remove quotes from command line arguments.
...
The command line option in .drectve section may be quoted by double
quotes, and if that's the case we have to remove them.
llvm-svn: 187390
2013-07-29 23:32:22 +00:00
Rui Ueyama
b469aeb164
[PECOFF] Process Import Name/Type field in the import library.
...
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
2013-07-29 22:55:39 +00:00
Rui Ueyama
7ac447fdfc
[PECOFF] Replace the magic number with sizeof().
...
llvm-svn: 187382
2013-07-29 21:54:43 +00:00
Rui Ueyama
5b274f3414
Fix test failure introduced in r187271 by enabling pipefail.
...
llvm-svn: 187381
2013-07-29 21:50:33 +00:00
Rui Ueyama
35f72ac818
[PECOFF] Simplicy FileCOFF ctor. No functionality change.
...
Member functions to read the symbol table had too many parameters to propagate
all the temporary information from one to another. By storing the information
to data members, we can simplify the function signatures and improve the
readability.
llvm-svn: 187321
2013-07-28 04:29:30 +00:00
Rui Ueyama
fbfd102b9e
Removed unnecessary parameter.
...
llvm-svn: 187317
2013-07-28 01:50:24 +00:00
Rui Ueyama
c3ab5117c9
[PECOFF] Skip a section if there's no atom in the section.
...
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
2013-07-27 00:37:50 +00:00
Rui Ueyama
3939101d6f
[PATCH] [PECOFF] Fill size field of IMAGE_DATA_DIRECTORY
...
Patch by Ron Ofir.
llvm-svn: 187262
2013-07-26 22:33:28 +00:00
Rui Ueyama
28084dc6cd
[PECOFF][Driver] Add ".lib" extension to the path given with /defaultlib.
...
llvm-svn: 187259
2013-07-26 22:22:26 +00:00
Rui Ueyama
3e0bbb4b02
[PECOFF][Driver] Add a library file even if it does not exist.
...
Missing files will be reported as errors in the later pass, so this patch
does not change the behavior of the LLD linker, but it helps writing unit
tests for the driver.
llvm-svn: 187256
2013-07-26 22:17:08 +00:00
Rui Ueyama
9dcbf8b3f6
[PECOFF][Driver] Fix a bug that -mllvm does not take any arguments.
...
llvm-svn: 187243
2013-07-26 20:54:36 +00:00
Rui Ueyama
d5b49de621
[PECOFF] Don't set IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE if "-fixed" is provided
...
Based on Ron Ofir's patch.
llvm-svn: 187221
2013-07-26 17:30:39 +00:00
Rui Ueyama
9c3ece328f
[PECOFF] Replace magic number with llvm::COFF::DataDirectoryIndex value
...
Patch by Ron Ofir.
llvm-svn: 187220
2013-07-26 17:30:36 +00:00
Rui Ueyama
2b59074ac8
[PECOFF] Fixed a bug which caused DataDirectoryChunk to write to a wrong offset in the file buffer
...
Patch by Ron Ofir.
llvm-svn: 187219
2013-07-26 17:30:33 +00:00
Rui Ueyama
f84d3d6187
Remove trailing whitespace.
...
llvm-svn: 187216
2013-07-26 17:08:12 +00:00
Rui Ueyama
0e786d3a38
Make local variables to start with a lowercase character for consistency with the LLD coding style.
...
llvm-svn: 187215
2013-07-26 17:03:03 +00:00
Rui Ueyama
9f9a2be24c
[PECOFF] Simplicy object allocation code. No functionality change.
...
llvm-svn: 187214
2013-07-26 17:03:00 +00:00
Rui Ueyama
b37fba7c54
[PECOFF] Ignore sections with IMAGE_SCN_LNK_REMOVE attribute.
...
llvm-svn: 187211
2013-07-26 16:59:38 +00:00
Rui Ueyama
afe731b796
[PECOFF] Create an atom for a symbol whose storage type is IMAGE_SYM_CLASS_LABEL.
...
llvm-svn: 187177
2013-07-26 01:18:27 +00:00
Reid Kleckner
f33c0e3a5f
Use env in a pecoff test so it passes with the lit shell test runner
...
llvm-svn: 187170
2013-07-25 23:20:21 +00:00
Reid Kleckner
818104899e
Add yaml2obj to check-lld deps, since the PECOFF tests need it
...
llvm-svn: 187165
2013-07-25 23:05:13 +00:00
Rui Ueyama
dc6983ca13
[PECOFF][Driver] Add /nologo command line option.
...
llvm-svn: 187162
2013-07-25 22:46:49 +00:00
Rui Ueyama
50e67c7371
[PECOFF][Driver] Split WinLinkDriver::parse for readability.
...
llvm-svn: 187161
2013-07-25 22:33:08 +00:00
Rui Ueyama
de25a69531
[PECOFF][Driver] Allow multiple /include options.
...
llvm-svn: 187100
2013-07-25 02:57:39 +00:00
Rui Ueyama
1e3e8752a8
[PECOFF] Add /failifmismatch option.
...
llvm-svn: 187095
2013-07-25 01:23:50 +00:00
Rui Ueyama
869950e9e0
[PECOFF][Driver] Simplify option definitions.
...
It's still not as simple as it should be because of the many duplicated
lines, but it's at least better than before.
llvm-svn: 187091
2013-07-25 00:32:19 +00:00
Rui Ueyama
d1d116aa89
[PECOFF] Use Windows style options instead of Unix style as primary options.
...
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
2013-07-24 23:18:02 +00:00
Rui Ueyama
fd50283c3c
[PECOFF] Add /include command line option.
...
The /include command line option is equivalent to Unix --undefined
option, which forces the linker to resolve the given symbol name
as if it's an unresolved symbol in one of its input files. This feature
is used to link an additional object file or a shared library that no
input files refer to.
llvm-svn: 187084
2013-07-24 22:53:23 +00:00
Nick Kledzik
2815782831
Add lit magic so that lld unittests are run as part of lld test suite
...
llvm-svn: 187005
2013-07-23 23:42:17 +00:00
Nick Kledzik
196d7a77a3
fix typo in error string
...
llvm-svn: 186996
2013-07-23 22:17:47 +00:00
Rui Ueyama
a59c5ac16f
Avoid using C-style cast and remove unnecessary LL prefix.
...
llvm-svn: 186960
2013-07-23 17:25:25 +00:00
Rui Ueyama
fbf5763708
[PECOFF] Support -tsaware:no command line option.
...
llvm-svn: 186957
2013-07-23 17:17:19 +00:00
Rui Ueyama
6a41fca856
[PECOFF] Support -fixed command line option to disable base relocations.
...
llvm-svn: 186911
2013-07-23 01:29:50 +00:00
Rui Ueyama
d991c50273
[PECOFF] Replace magic numbers with offsetof().
...
llvm-svn: 186888
2013-07-22 23:02:08 +00:00
Rui Ueyama
5443cba6d9
Fix -Wsign-compare warnings.
...
llvm-svn: 186884
2013-07-22 22:21:39 +00:00
Rui Ueyama
6c655f237e
[PECOFF][Driver] Show error message if no input file is given.
...
llvm-svn: 186882
2013-07-22 22:17:24 +00:00
Rui Ueyama
9e69e06cae
Rename ReaderCOFF members to follow the LLD coding style.
...
llvm-svn: 186843
2013-07-22 16:56:34 +00:00
Rui Ueyama
2125da5a0f
[PECOFF] Fix use-after-free.
...
llvm-svn: 186771
2013-07-20 21:00:47 +00:00
Nick Kledzik
91a85457e9
[mach-o] factor out all cputype <-> arch conversions to one table driven location
...
llvm-svn: 186755
2013-07-20 02:08:23 +00:00
Rui Ueyama
8e6c8f850d
[PECOFF][Driver] Add -base command line option.
...
llvm-svn: 186739
2013-07-20 00:45:00 +00:00
Rui Ueyama
99f80cf4a7
[PECOFF][Driver] Process "LINK" environment variable.
...
llvm-svn: 186654
2013-07-19 05:06:20 +00:00
Rui Ueyama
64b29d616b
[PECOFF][Driver] Add -defaultlib command line option.
...
llvm-svn: 186650
2013-07-19 04:11:37 +00:00
Rui Ueyama
5a7bbce587
[PECOFF][Driver] Interpret "LIB" environment variable.
...
llvm-svn: 186648
2013-07-19 03:27:03 +00:00
Rui Ueyama
2897feb7e0
[PECOFF] Use library search path when looking for a .lib file.
...
llvm-svn: 186645
2013-07-19 02:18:25 +00:00
Rui Ueyama
9f24922bd1
[PECOFF][Driver] Add -libpath command line option.
...
The logic to search a library from the library paths will be implemented
in a different patch.
llvm-svn: 186644
2013-07-19 01:38:49 +00:00
Nick Kledzik
762ae82d57
Add -help option to Darwin Driver. Use grouping in Options table to better format help output
...
llvm-svn: 186640
2013-07-19 01:02:49 +00:00