1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/lib/MC
Rafael Espindola b90e1b4a20 Add r224985 back with two fixes.
One is that AArch64 has additional restrictions on when local relocations can
be used. We have to take those into consideration when deciding to put a L
symbol in the symbol table or not.

The other is that ld64 requires the relocations to cstring to use linker
visible symbols on AArch64.

Thanks to Michael Zolotukhin for testing this!

Remove doesSectionRequireSymbols.

In an assembly expression like

bar:
.long L0 + 1

the intended semantics is that bar will contain a pointer one byte past L0.

In sections that are merged by content (strings, 4 byte constants, etc), a
single position in the section doesn't give the linker enough information.
For example, it would not be able to tell a relocation must point to the
end of a string, since that would look just like the start of the next.

The solution used in ELF to use relocation with symbols if there is a non-zero
addend.

In MachO before this patch we would just keep all symbols in some sections.

This would miss some cases (only cstrings on x86_64 were implemented) and was
inefficient since most relocations have an addend of 0 and can be represented
without the symbol.

This patch implements the non-zero addend logic for MachO too.

llvm-svn: 225644
2015-01-12 18:13:07 +00:00
..
MCDisassembler Fix a regression on the disassembling C API. 2014-11-13 16:52:07 +00:00
MCParser MC: Label definitions are permitted after .set directives 2014-12-24 10:27:50 +00:00
CMakeLists.txt
ConstantPools.cpp
ELFObjectWriter.cpp Add r224985 back with two fixes. 2015-01-12 18:13:07 +00:00
LLVMBuild.txt
MachObjectWriter.cpp Add r224985 back with two fixes. 2015-01-12 18:13:07 +00:00
Makefile
MCAsmBackend.cpp
MCAsmInfo.cpp Recommit r224935 with a fix for the ObjC++/AArch64 bug that that revision 2015-01-09 18:55:42 +00:00
MCAsmInfoCOFF.cpp
MCAsmInfoDarwin.cpp Add r224985 back with two fixes. 2015-01-12 18:13:07 +00:00
MCAsmInfoELF.cpp Allow target to specify prefix for labels 2014-12-04 00:06:57 +00:00
MCAsmStreamer.cpp DebugInfo: Omit is_stmt from line table entries on the same line. 2014-12-30 22:47:13 +00:00
MCAssembler.cpp Add r224985 back with two fixes. 2015-01-12 18:13:07 +00:00
MCCodeEmitter.cpp
MCCodeGenInfo.cpp
MCContext.cpp Remove StringMap::GetOrCreateValue in favor of StringMap::insert 2014-11-19 05:49:42 +00:00
MCDwarf.cpp Remove StringMap::GetOrCreateValue in favor of StringMap::insert 2014-11-19 05:49:42 +00:00
MCELF.cpp
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp Add back commits r219835 and a fixed version of r219829. 2014-10-17 01:48:58 +00:00
MCExpr.cpp ARM: add support for segment base relocations (SBREL) 2015-01-11 04:39:18 +00:00
MCInst.cpp
MCInstPrinter.cpp
MCInstrAnalysis.cpp
MCLabel.cpp
MCLinkerOptimizationHint.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp Add and update reset() and doInitialization() methods to MC* and passes. 2014-09-17 09:25:36 +00:00
MCNullStreamer.cpp Remove method that is identical to the base class one. 2014-10-14 17:38:38 +00:00
MCObjectFileInfo.cpp Commit back the correct bits of r222760 (was r222538). 2014-11-27 17:13:56 +00:00
MCObjectStreamer.cpp Clean up static analyzer warnings. 2014-12-12 21:48:03 +00:00
MCObjectWriter.cpp
MCRegisterInfo.cpp
MCSection.cpp
MCSectionCOFF.cpp MC: Fix MCSectionCOFF::PrintSwitchToSection 2014-09-20 20:40:50 +00:00
MCSectionELF.cpp delete function name from comment 2014-10-09 21:23:39 +00:00
MCSectionMachO.cpp
MCStreamer.cpp Revert r221150, as it broke sanitizer tests 2014-11-03 12:19:03 +00:00
MCSubtargetInfo.cpp
MCSymbol.cpp
MCSymbolizer.cpp
MCTargetOptions.cpp
MCValue.cpp
MCWin64EH.cpp
MCWinEH.cpp Fix Windows unwind info for functions in sections other than .text 2014-12-22 22:10:08 +00:00
StringTableBuilder.cpp MachObjectWriter: optimize the string table for common suffices 2014-10-06 17:05:19 +00:00
SubtargetFeature.cpp
WinCOFFObjectWriter.cpp Add r224985 back with two fixes. 2015-01-12 18:13:07 +00:00
WinCOFFStreamer.cpp MC, COFF: Use relocations for function references inside the section 2014-11-11 08:43:57 +00:00
YAML.cpp