summaryrefslogtreecommitdiffstats
path: root/lld/COFF/MapFile.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [COFF] Wrap definitions in namespace lld { namespace coff {. NFCFangrui Song2019-10-101-3/+6
| | | | | | | | | | | Similar to D67323, but for COFF. Many lld/COFF/ files already use `namespace lld { namespace coff {`. Only a few need changing. Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D68772 llvm-svn: 374314
* Fight a bit against global initializers. NFC.Benjamin Kramer2019-08-221-2/+2
| | | | llvm-svn: 369695
* Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFCFangrui Song2019-08-051-1/+1
| | | | | | F_{None,Text,Append} are kept for compatibility since r334221. llvm-svn: 367800
* Update comments for r365730. NFC.Rui Ueyama2019-07-111-1/+1
| | | | llvm-svn: 365733
* [Coding style change][lld] Rename variables for non-ELF portsRui Ueyama2019-07-111-51/+51
| | | | | | | | | | | This patch does the same thing as r365595 to other subdirectories, which completes the naming style change for the entire lld directory. With this, the naming style conversion is complete for lld. Differential Revision: https://reviews.llvm.org/D64473 llvm-svn: 365730
* Re-land r361206 "[COFF] Store alignment in log2 form, NFC"Reid Kleckner2019-05-221-1/+1
| | | | | | | | | The previous patch lost the call to PowerOf2Ceil, which causes LLD to crash when handling common symbols with a non-power-of-2 size. I tweaked the existing common.test to make the bsspad16 common symbol be 15 bytes to add coverage for this case. llvm-svn: 361426
* Revert r361206 "[COFF] Store alignment in log2 form, NFC"Nico Weber2019-05-211-1/+1
| | | | | | Makes the linker crash when linking nasm.exe. llvm-svn: 361212
* [COFF] Store alignment in log2 form, NFCReid Kleckner2019-05-201-1/+1
| | | | | | | | | | | | | | | | | Summary: Valid section or chunk alignments are powers of 2 in the range [1, 8192]. These can be stored more canonically in log2 form to free up some bits in Chunk. Combined with D61696, SectionChunk gets 8 bytes smaller. Reviewers: ruiu, aganea Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61698 llvm-svn: 361206
* Replace `typedef A B` with `using B = A`. NFC.Rui Ueyama2019-04-011-2/+2
| | | | | | | | I did this using Perl. Differential Revision: https://reviews.llvm.org/D60003 llvm-svn: 357372
* [LLD][COFF] Support /threads[:no] like the ELF driverAlexandre Ganea2019-02-271-2/+2
| | | | | | Differential review: https://reviews.llvm.org/D58594 llvm-svn: 355029
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* [COFF] Add support for creating range extension thunks for ARMMartin Storsjo2018-09-251-1/+1
| | | | | | | | | | | | This is a feature that MS link.exe lacks; it currently errors out on such relocations, just like lld did before. This allows linking clang.exe for ARM - practically, any image over 16 MB will likely run into the issue. Differential Revision: https://reviews.llvm.org/D52156 llvm-svn: 342962
* COFF: Move assignment of section RVAs to assignAddresses(). NFCI.Peter Collingbourne2018-03-151-1/+1
| | | | | | | | | | This makes the design a little more similar to the ELF linker and should allow for features such as ARM range extension thunks to be implemented more easily. Differential Revision: https://reviews.llvm.org/D44501 llvm-svn: 327667
* Rename Indent{1,2} -> Indent{8,16}.Rui Ueyama2018-03-071-4/+4
| | | | llvm-svn: 326912
* Do not create temporary strings just to print out spaces. NFC.Rui Ueyama2018-03-061-4/+5
| | | | llvm-svn: 326841
* Consistent (non) use of empty lines in include blocksSam Clegg2018-02-201-1/+0
| | | | | | | | | The profailing style in lld seem to be to not include such empty lines. Clang-tidy/clang-format seem to handle this just fine. Differential Revision: https://reviews.llvm.org/D43528 llvm-svn: 325629
* COFF: Remove the SymbolBodies vector, and rename SparseSymbolBodies to Symbols.Peter Collingbourne2017-11-201-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D40237 llvm-svn: 318683
* Rename SymbolBody -> SymbolRui Ueyama2017-11-031-1/+1
| | | | | | | | | | | | | Now that we have only SymbolBody as the symbol class. So, "SymbolBody" is a bit strange name now. This is a mechanical change generated by perl -i -pe s/SymbolBody/Symbol/g $(git grep -l SymbolBody lld/ELF lld/COFF) nd clang-format-diff. Differential Revision: https://reviews.llvm.org/D39459 llvm-svn: 317370
* [lld] unified COFF and ELF error handling on new Common/ErrorHandlerBob Haarman2017-10-251-1/+1
| | | | | | | | | | | | | | | | | | | Summary: The COFF linker and the ELF linker have long had similar but separate Error.h and Error.cpp files to implement error handling. This change introduces new error handling code in Common/ErrorHandler.h, changes the COFF and ELF linkers to use it, and removes the old, separate implementations. Reviewers: ruiu Reviewed By: ruiu Subscribers: smeenai, jyknight, emaste, sdardis, nemanjai, nhaehnle, mgorny, javed.absar, kbarton, fedor.sergeev, llvm-commits Differential Revision: https://reviews.llvm.org/D39259 llvm-svn: 316624
* Remove {get,set}Align accessor functions and use Alignment member variable ↵Rui Ueyama2017-09-131-1/+1
| | | | | | instead. llvm-svn: 313204
* Add {Obj,Import,Bitcode}File::Instances to COFF input files.Rui Ueyama2017-07-271-1/+1
| | | | | | | We did the same thing for ELF in r309152, and I want to maintain COFF and ELF as close as possible. llvm-svn: 309239
* Rename ObjectFile ObjFile for COFF as well.Rui Ueyama2017-07-261-1/+1
| | | | llvm-svn: 309228
* [Support] Move Parallel algorithms from LLD to LLVM.Zachary Turner2017-05-111-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D33024 llvm-svn: 302748
* [Core] Make parallel algorithms match C++ Parallelism TS.Zachary Turner2017-05-101-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D33016 llvm-svn: 302613
* Fix comments.Rui Ueyama2017-04-301-7/+5
| | | | llvm-svn: 301778
* Port recent changes to ELF/MapFile.cpp to COFF.Rui Ueyama2017-04-291-57/+70
| | | | llvm-svn: 301754
* Print alignment in decimal instead of hexadecimal.Rui Ueyama2017-01-311-1/+1
| | | | | | | | | | | | | Previously, we were printing out something like this for sections/symbols with alignment 16 0000000000201000 0000000000000182 10 .data which I think confusing. I think printing it in decimal is better. Differential Revision: https://reviews.llvm.org/D29258 llvm-svn: 293685
* [COFF] - Fixed format in writeOutSecLine()George Rimar2017-01-161-1/+2
| | | | | | | | | | | | The same as https://reviews.llvm.org/rL292102, fixes next testcases under msvs2015/win32: 25> Failing Tests (3): 25> lld :: COFF/lldmap.test 25> lld :: COFF/weak-external.test 25> lld :: COFF/weak-external3.test llvm-svn: 292104
* Simplify string output. NFC.Rui Ueyama2017-01-151-6/+2
| | | | llvm-svn: 292042
* Directly write to a -Map file.Rui Ueyama2017-01-151-16/+8
| | | | | | | | | | | | | | | | | | Previous code had a bug that if the program exits with an assert() or fail() before the control reaches end of writeMapFile(), it leaves a temporary file, because FileRemover's dtor isn't called in that case. I could fix that by removeFileOnSignal() and other functions, but I think we can simply write to the result file directly. I think that is straightforward and easy to understand. Additionally, that allows something like `-Map /dev/null` or a bash hack such as `-Map >(grep symbol-im-looking-for)`. Previously, that kind of things didn't work. Differential Revision: https://reviews.llvm.org/D28714 llvm-svn: 292041
* COFF: Change the /lldmap output format to be more like the ELF linker.Peter Collingbourne2017-01-141-0/+125
Differential Revision: https://reviews.llvm.org/D28717 llvm-svn: 291990
OpenPOWER on IntegriCloud