summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/Mips
Commit message (Collapse)AuthorAgeFilesLines
* Remove the old ELF linker.Rafael Espindola2016-02-2822-5082/+0
| | | | | | I think it is clear by now that the new linker is viable. llvm-svn: 262158
* Add File::kind's for all subclasses of File.Pete Cooper2016-01-141-1/+1
| | | | | | | | | | | | This is to enable isa<> support for any files which need it. It will be used in an upcoming patch to differentiate MachOFile from other implicitly generated files. Reviewed by Lang Hames. Differential Revision: http://reviews.llvm.org/D16103 llvm-svn: 257830
* Update for LLVM function name change.Rui Ueyama2016-01-141-2/+2
| | | | llvm-svn: 257801
* Set the folder for libraries to 'lld libraries'. NFC.Pete Cooper2016-01-071-1/+1
| | | | | | | | | | | | In a UI such as XCode, LLVM source files are in 'libraries' while clang files are in 'clang libraries'. This change moves the lld source to 'lld libraries' to make code browsing easier. It should be NFC as the build itself is still the same, just the structure in a UI differs. llvm-svn: 257001
* [Mips] Do not show an error if R_MIPS_GPREL32 relocation has a non-local targetSimon Atanasyan2015-09-161-13/+0
| | | | | | This matches GNU linker behaviour. llvm-svn: 247795
* Fix -Wcovered-switch-default warnings.Rui Ueyama2015-08-311-4/+2
| | | | llvm-svn: 246419
* ELF: Fix "not all control paths return a value" warning.Rui Ueyama2015-08-311-12/+16
| | | | llvm-svn: 246417
* [Mips] Support grouping of multiple consecutive relocations in case of N32 ↵Simon Atanasyan2015-08-281-1/+15
| | | | | | and 64-bit MIPS ABIs llvm-svn: 246337
* [Mips] Initial support of the MIPS N32 ABISimon Atanasyan2015-08-287-10/+117
| | | | llvm-svn: 246334
* [Mips] Use 'or' for move instead of [d]addu in PLT entriesSimon Atanasyan2015-08-191-2/+2
| | | | | | | | Patch by Simon Dardis. Differential Revision: http://reviews.llvm.org/D12103 llvm-svn: 245491
* [Mips] Implement definition of the DT_MIPS_RLD_MAP_REL dynamic tagSimon Atanasyan2015-08-011-2/+10
| | | | llvm-svn: 243835
* [Mips] Implement definition of DT_MIPS_RLD_MAP dynamic tag, .rld_map ↵Simon Atanasyan2015-07-302-0/+32
| | | | | | section, and __RLD_MAP symbol llvm-svn: 243626
* [Mips] Define _DYNAMIC_LINKING symbol if output is a is dynamically linked ↵Simon Atanasyan2015-07-251-1/+7
| | | | | | executable file llvm-svn: 243211
* [Mips] Remove redundant separate functions to calculate relocations. DoSimon Atanasyan2015-07-251-52/+23
| | | | | | | | that inline. No functional changes. llvm-svn: 243210
* [Mips] Remove duplicated code by joining the same functionsSimon Atanasyan2015-07-251-21/+4
| | | | llvm-svn: 243209
* [Mips] Do not sign-extend addends read from RELA relocation recordsSimon Atanasyan2015-07-251-18/+21
| | | | llvm-svn: 243208
* Use the getSymbol with an explicit symbol table. NFC.Rafael Espindola2015-07-232-12/+17
| | | | llvm-svn: 243014
* [ELF] Apply segments from linker scriptsDenis Protivensky2015-07-232-2/+2
| | | | | | | | | | | | | | Put sections to segments according to linker scripts if available. Rework the code of TargetLayout::assignSectionsToSegments so it operates on the given list of segments, which can be either read from linker scripts or constructed as before. Handle NONE segments defined in linker scripts by putting corresponding sections to PT_NULL segment. Consider flags set for segments through linker scripts. Differential Revision: http://reviews.llvm.org/D10918 llvm-svn: 243002
* [Mips] Fix addend writing for R_MIPS_REL32 relocationSimon Atanasyan2015-07-212-11/+20
| | | | llvm-svn: 242760
* [Mips] Handle R_MIPS_JALR relocation to omptimize jalr/jr instructionsSimon Atanasyan2015-07-212-10/+39
| | | | llvm-svn: 242759
* Update for llvm api change.Rafael Espindola2015-07-202-18/+18
| | | | llvm-svn: 242701
* [Mips] Support MIPS big-endian 32/64-bits targetsSimon Atanasyan2015-07-1310-60/+276
| | | | llvm-svn: 242014
* [Mips] Factor out symbol type checking (PIC/non-PIC) into the separate functionSimon Atanasyan2015-07-033-4/+9
| | | | | | No functional changes. llvm-svn: 241342
* [Mips] Reject R_MIPS_CALL16 against local symbolsSimon Atanasyan2015-06-261-14/+33
| | | | llvm-svn: 240765
* [Mips] Use helper functions to determine relocations purposeSimon Atanasyan2015-06-261-126/+91
| | | | | | | | That allows to remove duplicated long switch/case statements. No functional changes. llvm-svn: 240764
* [Mips] Create LA25 stubs for all branch relocationsSimon Atanasyan2015-06-261-34/+57
| | | | llvm-svn: 240763
* [Mips] Support R_MICROMIPS_HI0_LO16 relocation handlingSimon Atanasyan2015-06-222-1/+5
| | | | llvm-svn: 240268
* [Mips] Support R_MICROMIPS_LITERAL relocation handlingSimon Atanasyan2015-06-222-0/+5
| | | | llvm-svn: 240267
* [Mips] Support R_MIPS_LITERAL relocation handlingSimon Atanasyan2015-06-222-1/+5
| | | | llvm-svn: 240266
* [Mips] Support R_MICROMIPS_SUB relocation handlingSimon Atanasyan2015-06-221-2/+6
| | | | llvm-svn: 240265
* [Mips] Reject R_MIPS_GPREL32 against external symbolsSimon Atanasyan2015-06-221-2/+16
| | | | llvm-svn: 240264
* [Mips] Reject position-dependent relocations in case of shared library linkingSimon Atanasyan2015-06-221-10/+70
| | | | llvm-svn: 240262
* [Mips] Support R_MICROMIPS_HIGHER / R_MICROMIPS_HIGHEST relocations handlingSimon Atanasyan2015-06-221-0/+4
| | | | llvm-svn: 240260
* [Mips] Support R_MIPS_HIGHER / R_MIPS_HIGHEST relocations handlingSimon Atanasyan2015-06-221-0/+14
| | | | llvm-svn: 240259
* Simplify Pass::perform to take a SimpleFile& instead of unique_ptr<SimpleFile>&David Blaikie2015-06-193-17/+17
| | | | | | | | None of the implementations replace the SimpleFile with some other file, they just modify the SimpleFile in-place, so a direct reference to the file is sufficient. llvm-svn: 240167
* [lld] Allow LLD passes to return error codes.Lang Hames2015-06-193-4/+8
| | | | llvm-svn: 240147
* [Mips] Write inline some more relocation calculationsSimon Atanasyan2015-06-171-112/+20
| | | | | | No functional changes. llvm-svn: 239961
* [Mips] Support R_MICROMIPS_GPREL16 / R_MICROMIPS_GPREL7_S2 relocations handlingSimon Atanasyan2015-06-172-0/+14
| | | | llvm-svn: 239960
* [Mips] Support R_MIPS_16 relocation handlingSimon Atanasyan2015-06-171-0/+3
| | | | llvm-svn: 239959
* [Mips] Do not use functions to calculate trivial relocationsSimon Atanasyan2015-06-171-15/+2
| | | | | | No functional changes. llvm-svn: 239957
* [Mips] Support R_MIPS_PC16 relocation handlingSimon Atanasyan2015-06-131-2/+15
| | | | llvm-svn: 239677
* [Mips] Use standard relocations R_MIPS_HI16/LO16 instead of custom variantsSimon Atanasyan2015-06-134-22/+8
| | | | | | No functional changes. llvm-svn: 239676
* [Mips] Handle TLS relocations in -static linking modeSimon Atanasyan2015-06-123-23/+42
| | | | llvm-svn: 239615
* [Mips] Define _gpxxx symbols in both static/dynamic linking modesSimon Atanasyan2015-06-121-8/+4
| | | | llvm-svn: 239614
* [Mips] Setup EI_ABIVERSION flagSimon Atanasyan2015-06-123-4/+20
| | | | | | | - Set EI_ABIVERSION to '1' in case of non-PIC executable. - Set EI_ABIVERSION to '3' in case of using FP64/FP64A floating point ABI. llvm-svn: 239613
* [Mips] Factor out some bit manipulation code into separate routinesSimon Atanasyan2015-06-061-7/+13
| | | | | | No functional changes. llvm-svn: 239226
* [Mips] Check symbol alignment for some MIPS relocations.Simon Atanasyan2015-06-061-10/+13
| | | | llvm-svn: 239225
* [Mips] Perform an overflow checking for relocations resultsSimon Atanasyan2015-06-061-48/+80
| | | | llvm-svn: 239224
* [Mips] Rearrange relocation related cases in the `switch` operatorSimon Atanasyan2015-06-061-12/+12
| | | | | | No functional changes. llvm-svn: 239223
* [Mips] Use signed/unsigned types in relocation calculations consistentlySimon Atanasyan2015-06-061-52/+41
| | | | | | No functional changes. llvm-svn: 239222
OpenPOWER on IntegriCloud