- Oct 25, 2013
-
-
Rui Ueyama authored
llvm-svn: 193385
-
Rui Ueyama authored
llvm-svn: 193384
-
Michael J. Spencer authored
This renames the GOTPLTPass to RelocationPass and refactors it to better represent the different types of relocations. llvm-svn: 193379
-
Rui Ueyama authored
llvm-svn: 193375
-
- Oct 24, 2013
-
-
Michael J. Spencer authored
llvm-svn: 193369
-
Rui Ueyama authored
The patch have completely broken COFF port and disabled many tests. This also reverts r193302 (comment fix). llvm-svn: 193362
-
Shankar Easwaran authored
llvm-svn: 193302
-
Shankar Easwaran authored
Easier to add new options such as -version, and easy to parse. Now displays a help message with -help llvm-svn: 193301
-
Shankar Easwaran authored
Disable tests to be run with REQUIRES: disable. Note disable is not added to the config by the test runner Mkaefiles, so essentially disables the test. Code changes would be required to fix these tests :- test/darwin/hello-world.objtxt test/elf/check.test test/elf/phdr.test test/elf/ppc.test test/elf/undef-from-main-dso.test test/elf/X86_64/note-sections-ro_plus_rw.test test/pecoff/alignment.test test/pecoff/base-reloc.test test/pecoff/bss-section.test test/pecoff/drectve.test test/pecoff/dynamic.test test/pecoff/dynamicbase.test test/pecoff/entry.test test/pecoff/hello.test test/pecoff/imagebase.test test/pecoff/importlib.test test/pecoff/lib.test test/pecoff/multi.test test/pecoff/reloc.test test/pecoff/weak-external.test llvm-svn: 193300
-
Rui Ueyama authored
Instead of making the linker to create a manifest XML file in the same directory as the resulting binary, you can embed the XML as a part of resource into the executable. In order to do that, the linker first creates a resource script file containing the XML file, compile it into a binary resource file with RC.EXE, and then convert it to a COFF file with CVTRES.EXE. llvm-svn: 193298
-
- Oct 23, 2013
-
-
Rui Ueyama authored
Because it depends on "-mllvm -debug" flag, the test fails in Release build. llvm-svn: 193271
-
Rui Ueyama authored
llvm-svn: 193266
-
Rui Ueyama authored
llvm-svn: 193259
-
Rui Ueyama authored
This patch won't change LLD's behavior because it's a temporary file and LLD does not use the file extension to determine file type. But using the correct file extension is a good thing. llvm-svn: 193211
-
Rui Ueyama authored
llvm-svn: 193207
-
- Oct 22, 2013
-
-
Rui Ueyama authored
llvm-svn: 193201
-
Rui Ueyama authored
/manifestfile:<path> specifies an alternative manifest file output path. Default is "<output-path>.manifest" where <output-path> is the executable's path. llvm-svn: 193195
-
Rui Ueyama authored
llvm-svn: 193186
-
Rui Ueyama authored
llvm-svn: 193173
-
Rui Ueyama authored
uiAccess argument's type is not really boolean. It's string. llvm-svn: 193171
-
Alp Toker authored
llvm-svn: 193155
-
Rui Ueyama authored
This option is used for the manifest file too. llvm-svn: 193145
-
Rui Ueyama authored
llvm-svn: 193143
-
Rui Ueyama authored
llvm-svn: 193142
-
Rui Ueyama authored
The manifest file is an XML file that conveys some information to the loader, such as whether the executable needs to run as Administrator or not. This patch is to parse command line option for manifest file. Actual XML file generation will be done in a separate patch. llvm-svn: 193141
-
Rui Ueyama authored
Because MSVC11 doesn't like this new C++11 feature. The last commit broke the buildbot. llvm-svn: 193127
-
Rui Ueyama authored
llvm-svn: 193122
-
Rui Ueyama authored
llvm-svn: 193121
-
- Oct 19, 2013
-
-
Rui Ueyama authored
llvm-svn: 193030
-
Rui Ueyama authored
This patch fixes a bug in r190608. The results of a comparison function passed to std::sort must be transitive, which is, if a < b and b < c, and if a != b, a < c must be also true. CompareAtoms::compare did not actually guarantee the transitivity. As a result the sort results were sometimes just wrong. Consider there are three atoms, X, Y, and Z, whose file ordinals are 1, 2, 3, respectively. Z has a property "layout-after X". In this case, all the following conditionals become true: X < Y because X's ordinal is less than Y's Y < Z because Y's ordinal is less than Z's Z < X because of the layout-after relationship This is not of course transitive. The reason why this happened is because we used follow-on relationships for comparison if two atoms falls in the same follow-on chain, but we used each atom's properties if they did not. This patch fixes the issue by using follow-on root atoms for comparison to get consistent results. Differential Revision: http://llvm-reviews.chandlerc.com/D1980 llvm-svn: 193029
-
Rui Ueyama authored
We should dead-strip atoms only if they are created for COMDAT symbols. If we remove non-COMDAT atoms from a binary, it will no longer be guaranteed that the binary will work correctly. In COFF, you can manipulate the order of section contents in the resulting binary by section name. For example, if you have four sections .data$unique_prefix_{a,b,c,d}, it's guaranteed that the contents of A, B, C, and D will be consecutive in the resulting .data section in that order. Thus, you can access B's and C's contents by incrementing a pointer pointing to A until it reached to D. That's why we cannot dead-strip B or C even if no one is directly referencing to them. Some object files in the standard library actually use that technique. llvm-svn: 193017
-
- Oct 18, 2013
-
-
Rui Ueyama authored
INT 3 (machine code 0xCC) will raise an interrupt when executed. That is better for filling the gap than NOP because we want to stop the execution immediately when the control reached to non-code address. llvm-svn: 192945
-
Shankar Easwaran authored
There is no test as currently there is no call to the NativeWriter. Future commits will add calls to the NativeWriter. llvm-svn: 192944
-
Rui Ueyama authored
llvm-svn: 192943
-
Rui Ueyama authored
llvm-svn: 192942
-
Rui Ueyama authored
Instead of showing multiple lines of debug messages, show only one message by CompareAtoms::operator(). Here is an example. Before: Sorting _main .text Sorting by sectionPos(2,2) Sorting by override Sorting _main .text Sorting by sectionPos(2,2) Sorting by override After: Layout: '_main' > '.text' (override (1, 0)) Layout: '_main' > '.text' (override (1, 0)) Differential Revision: http://llvm-reviews.chandlerc.com/D1964 llvm-svn: 192941
-
Shankar Easwaran authored
llvm-svn: 192939
-
Rui Ueyama authored
llvm-svn: 192930
-
- Oct 16, 2013
-
-
Rui Ueyama authored
Dead-strip root symbols can be undefined atoms, but should not really be nonexistent, because dead-strip root symbols should be added to initial undefined atoms at startup. Whenever you look up its name in the symbol table, some type of atom will always exist. llvm-svn: 192831
-
Rui Ueyama authored
llvm-svn: 192830
-