summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter
Commit message (Collapse)AuthorAgeFilesLines
...
* Do not inline large member functions. No functionality change.Rui Ueyama2013-11-191-720/+768
| | | | llvm-svn: 195169
* Do not inline large member functions.Rui Ueyama2013-11-191-494/+553
| | | | | | | This should improve code readability as the class definitions are now more readable than before. llvm-svn: 195159
* [PECOFF] Now that identify_magic() recognizes COFF import library.Rui Ueyama2013-11-191-6/+1
| | | | | | No need to do that in ReaderCOFF.cpp. llvm-svn: 195109
* Remove meaningless "explicit" keywords.Rui Ueyama2013-11-191-2/+2
| | | | llvm-svn: 195108
* Use UINT16_MAX instead of 0xFFFF.Rui Ueyama2013-11-191-1/+3
| | | | llvm-svn: 195096
* Replace unnecessary vector copy with reference.Rui Ueyama2013-11-181-1/+1
| | | | llvm-svn: 194988
* Add an assert for NativeReferenceIvarsV1.Rui Ueyama2013-11-181-0/+2
| | | | | | | | | | | | | | The maximum number of references the file with NativeReferenceIvarsV1 can contain is 65534. If a file larger than that is converted to Native format, the conversion will fail without any error message. This caused a subtle bug that the LLD would produce a broken executable only when input files contain too many references. This issue exists since the RoundTripNativeTest is introduced in r193585. Since then, it seems that nobody have linked any program having more than 65534 relocations with the LLD. Otherwise we would have found it earlier. llvm-svn: 194987
* Move the entire debug print loop into DEBUG_WITH_TYPE.Rui Ueyama2013-11-161-18/+13
| | | | | | No functionality change. llvm-svn: 194914
* Replace one more magic number with sizeof().Rui Ueyama2013-11-161-1/+2
| | | | llvm-svn: 194913
* Use early continue.Rui Ueyama2013-11-161-27/+23
| | | | llvm-svn: 194911
* Simplify. No functionality change.Rui Ueyama2013-11-161-7/+3
| | | | llvm-svn: 194909
* Replace duplicate code with calls to getOrPushAttribute().Rui Ueyama2013-11-161-24/+20
| | | | llvm-svn: 194908
* Use range-based for loop.Rui Ueyama2013-11-151-21/+15
| | | | | | end() was evaluated every time through a loop. This patch eliminates it. llvm-svn: 194894
* Use llvm_unreachable() instead of assert() at where control should never get.Rui Ueyama2013-11-151-2/+1
| | | | llvm-svn: 194890
* Duplicate code removal.Rui Ueyama2013-11-151-70/+37
| | | | llvm-svn: 194887
* Replace magic number with sizeof(). No functionality change.Rui Ueyama2013-11-151-1/+2
| | | | llvm-svn: 194877
* Remove duplicate code.Rui Ueyama2013-11-151-57/+23
| | | | llvm-svn: 194866
* [PECOFF] Use INT3 instead of NOP.Rui Ueyama2013-11-151-1/+1
| | | | | | | | | | This patch does not change the meaning of the program, but if something's wrong in the linker or the compiler and the control reaches to the gap of imported function table, it will stop immediately because of the presence of INT3. If NOP, it'd fall through to the next call instruction, which is usually a completely foreign function call. llvm-svn: 194860
* [PECOFF] Remove unnecessary static member.Rui Ueyama2013-11-151-17/+10
| | | | llvm-svn: 194851
* [PECOFF] Give a better name to the linker generated file.Rui Ueyama2013-11-151-1/+1
| | | | llvm-svn: 194847
* Fix Windows buildbot on which size_t is not unsinged long.Rui Ueyama2013-11-151-1/+1
| | | | llvm-svn: 194793
* [PECOFF] Minimum size of DOS stub is 64 byte.Rui Ueyama2013-11-151-2/+6
| | | | llvm-svn: 194791
* [PECOFF] Avoid using statically initialized std::vector.Rui Ueyama2013-11-152-13/+7
| | | | | | Also slightly reduces PECOFFLinkingContext's memory footprint (~128B). llvm-svn: 194787
* Fix include guards.Rui Ueyama2013-11-1527-70/+70
| | | | llvm-svn: 194776
* Move DOS stub data to PECOFFLinkingContext for /stub option.Rui Ueyama2013-11-142-18/+15
| | | | llvm-svn: 194754
* Don't use getFileOrStdin() at where we don't want to read from stdin.Rui Ueyama2013-11-141-1/+1
| | | | llvm-svn: 194746
* Fix trailing whitespace and indentation.Rui Ueyama2013-11-141-53/+41
| | | | llvm-svn: 194722
* Use makeArrayRef(). No functionality change.Rui Ueyama2013-11-141-6/+7
| | | | llvm-svn: 194721
* Fix indentation and delete trailing whitespace.Rui Ueyama2013-11-141-47/+37
| | | | llvm-svn: 194677
* Use makeArrayRef() to make ArrayRef from C array.Rui Ueyama2013-11-141-6/+7
| | | | llvm-svn: 194675
* [PECOFF] Make the import library file magic more accurate.Rui Ueyama2013-11-141-1/+2
| | | | llvm-svn: 194668
* [PECOFF] Add missing dependency.Michael J. Spencer2013-11-141-0/+1
| | | | | | This dependency needs to be cleaned up at some point. .directve handling needs the link.exe option parser. llvm-svn: 194642
* [PECOFF] Make ReaderCOFF more robust against planned identity_magic() changes.Rui Ueyama2013-11-131-3/+7
| | | | | | No functionality change. llvm-svn: 194560
* Re-submit r194551: Use empty() instead of size() == 0.Rui Ueyama2013-11-133-4/+3
| | | | llvm-svn: 194556
* Revert "Use empty() instead of size() == 0."Rui Ueyama2013-11-133-3/+3
| | | | | | This reverts commit r194551 because it broke the buildbot. llvm-svn: 194552
* Use empty() instead of size() == 0.Rui Ueyama2013-11-133-3/+3
| | | | llvm-svn: 194551
* [PECOFF] Do not print error if length of .drectve is 0.Rui Ueyama2013-11-131-0/+3
| | | | llvm-svn: 194539
* [MachO] Simplify conditionals. No functionality change.Rui Ueyama2013-11-121-7/+5
| | | | llvm-svn: 194492
* Delete unused constructor.Rui Ueyama2013-11-111-1/+0
| | | | llvm-svn: 194364
* [ELF] Un-break undef-from-main-dso.test on MSVC 2012.Rui Ueyama2013-11-101-2/+2
| | | | | | | | | | | | | | | | The result of sizeof(SymbolTable<ELFT>::SymbolEntry) in DynamicSymbolTable <ELFT>::write() was different from the same expression in RelocationTable <ELFT>::write(), although the same template parameters were passed. They were 40 and 32, respectively. As a result, the same vector was treated as a vector of 40 byte values in some places and a vector of 32 values in other places. That caused an weird issue, resulting in collapse of the rela.dyn section. I suspect that this is a padding size calculation bug in MSVC 2012, but I may be wrong. Reordering the fields to eliminate padding seems to fix the issue. llvm-svn: 194349
* Remove empty namespace.Rui Ueyama2013-11-091-2/+0
| | | | llvm-svn: 194322
* [mach-o] Use LEB128 stuff from llvm/Support. No functionality change.Nick Kledzik2013-11-091-67/+29
| | | | llvm-svn: 194305
* [mach-o] reduce duplicate source code by using a templated method. No ↵Nick Kledzik2013-11-091-113/+43
| | | | | | functionality change. llvm-svn: 194299
* [mach-o] fix uninitialized variableNick Kledzik2013-11-081-0/+1
| | | | llvm-svn: 194290
* Add explictly exported atoms and export R_*_COPY'ed atoms.Michael J. Spencer2013-11-086-2/+30
| | | | llvm-svn: 194278
* [mach-o] add llvm_unreachableNick Kledzik2013-11-061-0/+1
| | | | llvm-svn: 194172
* [mach-o] fix DEBUG_WITH_TYPE to compile without warnings in non-debug caseNick Kledzik2013-11-061-17/+15
| | | | llvm-svn: 194171
* [mach-o] binary reader and writer Nick Kledzik2013-11-068-1547/+2620
| | | | | | | | | | This patch adds support for converting normalized mach-o to and from binary mach-o. It also changes WriterMachO (which previously directly wrote a mach-o binary given a set of Atoms) to instead do it in two steps. The first step uses normalizedFromAtoms() to convert Atoms to normalized mach-o, and the second step uses writeBinary() which to generate the mach-o binary file. llvm-svn: 194167
* rename local variable to avoid shadowing warningNick Kledzik2013-11-061-4/+4
| | | | llvm-svn: 194166
* [PECOFF] Rename getSectionAlignment -> getSectionDefaultAlignment.Rui Ueyama2013-11-062-3/+3
| | | | | | | | These fields are for /align option. Section alignment can be set per-section basis with /section option too. In order to avoid name conflicts, rename the existing identifiers to become more specific. No functionality change. llvm-svn: 194160
OpenPOWER on IntegriCloud