summaryrefslogtreecommitdiffstats
path: root/lld/test/elf/quickdata.test
Commit message (Collapse)AuthorAgeFilesLines
* Rename test/elf to test/old-elf.Rafael Espindola2015-11-171-15/+0
| | | | llvm-svn: 253312
* Rename the gnu flavour to gnu old.Rafael Espindola2015-11-161-1/+1
| | | | | | This is the first step in making ELF2 the default. llvm-svn: 253188
* ELF: Don't use LayoutPass.Rui Ueyama2015-01-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we applied the LayoutPass to order atoms and then apply elf::ArrayOrderPass to sort them again. The first pass is basically supposed to sort atoms in the normal fashion (which is to sort symbols in the same order as the input files). The second pass sorts atoms in {init,fini}_array.<priority> by priority. The problem is that the LayoutPass is overkill. It analyzes references between atoms to make a decision how to sort them. It's slow, hard to understand, and above all, it doesn't seem that we need its feature for ELF in the first place. This patch remove the LayoutPass from ELF pass list. Now all reordering is done in elf::OrderPass. That pass sorts atoms by {init,fini}_array, and if they are not in the special section, they are ordered as the same order as they appear in the command line. The new code is far easier to understand, faster, and still able to create valid executables. Unlike the previous layout pass, elf::OrderPass doesn't count any attributes of an atom (e.g. permissions) except its position. It's OK because the writer takes care of them if we have to. This patch changes the order of final output, although that's benign. Tests are updated. http://reviews.llvm.org/D7278 llvm-svn: 227666
* [ELF] Fix uninitalized value.Michael J. Spencer2013-10-031-3/+4
| | | | llvm-svn: 191924
* [Core] Fix heap overflow in LayoutPass.Michael J. Spencer2013-10-021-3/+3
| | | | | | | Found this with asan. Code assumes that find doesn't return end, thus if both atoms didn't have followon roots it would still compare their positions. llvm-svn: 191865
* [lld][LinkingContext][ELF] Allow different output file types.Shankar Easwaran2013-09-231-1/+1
| | | | | | | | | | This adds an option --output-filetype that can be set to either YAML/Native(case insensitive). The linker would create the outputs associated with the type specified by the user. Changes all the tests to use the new option. llvm-svn: 191183
* [lld][LayoutPass] Order the atoms that are in the same chainShankar Easwaran2013-09-121-3/+3
| | | | | | | | | | | We need to order atoms that exist in the same chain. This is to make sure that the command line order is preserved when we emit the atoms to the output file. Credits: BigCheese for finding the bug. Adds a test which otherwise would fail. llvm-svn: 190608
* [lld][LinkingContext] Atoms created from command line options should be ↵Shankar Easwaran2013-08-311-1/+1
| | | | | | | | | | | | 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
* [lld] handle typeZeroFill atoms in ELF/Native/YAMLShankar Easwaran2013-08-231-1/+1
| | | | | | | | | | | | | 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
* Update to llvm changes.Michael J. Spencer2013-08-081-5/+5
| | | | llvm-svn: 188021
* This is my Driver refactoring patch. Nick Kledzik2013-04-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | The major changes are: 1) LinkerOptions has been merged into TargetInfo 2) LinkerInvocation has been merged into Driver 3) Drivers no longer convert arguments into an intermediate (core) argument list, but instead create a TargetInfo object and call setter methods on it. This is only how in-process linking would work. That is, you can programmatically set up a TargetInfo object which controls the linking. 4) Lots of tweaks to test suite to work with driver changes 5) Add the DarwinDriver 6) I heavily doxygen commented TargetInfo.h Things to do after this patch is committed: a) Consider renaming TargetInfo, given its new roll. b) Consider pulling the list of input files out of TargetInfo. This will enable in-process clients to create one TargetInfo the re-use it with different input file lists. c) Work out a way for Drivers to format the warnings and error done in core linking. llvm-svn: 178776
* [ELF][Hexagon]add typeZeroFillFastShankar Easwaran2013-02-241-2/+1
| | | | llvm-svn: 175983
* add changes for typeDataFastShankar Easwaran2013-02-221-0/+14
llvm-svn: 175901
OpenPOWER on IntegriCloud