llvm-project/llvm/lib/MC
Vladimir Stefanovic 1d2714be13 [MC] Support labels as offsets in .reloc directive
Currently, expressions like

  .reloc 1f, R_MIPS_JALR, foo
  1: nop

are not allowed, ie. an offset in .reloc can only be absolute value.
This patch adds support for labels as offsets.
If offset is a forward declared label, MCObjectStreamer keeps the fixup locally
and adds it to the fixups vector after the label (and its offset) is defined.
label+number is not supported yet.

Differential revision: https://reviews.llvm.org/D53990

llvm-svn: 347397
2018-11-21 16:28:39 +00:00
..
MCDisassembler Remove trailing space 2018-07-30 19:41:25 +00:00
MCParser [MC] Support labels as offsets in .reloc directive 2018-11-21 16:28:39 +00:00
CMakeLists.txt Revert BTF commit series. 2018-10-12 19:41:05 +00:00
ConstantPools.cpp [MC] - ConstantPools.cpp: Style consistency, remove redundant braces. NFC. 2018-09-03 03:48:39 +00:00
ELFObjectWriter.cpp The initial .text section generated in object files was missing the 2018-09-06 22:09:31 +00:00
LLVMBuild.txt [WebAssembly] Move toString helpers to BinaryFormat 2018-05-14 22:42:07 +00:00
MCAsmBackend.cpp [RISCV] Add symbol diff relocation support for RISC-V 2018-05-23 12:36:18 +00:00
MCAsmInfo.cpp [DEBUGINFO] Add option that allows to disable emission of flags in .loc directives. 2018-04-03 17:28:55 +00:00
MCAsmInfoCOFF.cpp Revert "[COFF] Use comdat shared constants for MinGW as well" 2018-07-26 10:48:20 +00:00
MCAsmInfoDarwin.cpp
MCAsmInfoELF.cpp
MCAsmInfoWasm.cpp [WebAssembly] clang-format (NFC) 2018-09-05 01:27:38 +00:00
MCAsmMacro.cpp [Asm] Fix another layering violation in assmebly macro dumping 2018-03-06 16:51:17 +00:00
MCAsmStreamer.cpp [ARM64][Windows] MCLayer support for exception handling 2018-10-27 06:13:06 +00:00
MCAssembler.cpp [DebugInfo] Fix build failed in clang-x86_64-linux-selfhost-modules. 2018-08-01 04:17:41 +00:00
MCCodeEmitter.cpp
MCCodePadder.cpp
MCCodeView.cpp [codeview] Clean up machinery for deferring .cv_loc emission 2018-08-28 23:25:59 +00:00
MCContext.cpp Revert BTF commit series. 2018-10-12 19:41:05 +00:00
MCDwarf.cpp Fix .cfi_restore with register numbers > 64 2018-11-13 10:54:49 +00:00
MCELFObjectTargetWriter.cpp The initial .text section generated in object files was missing the 2018-09-06 22:09:31 +00:00
MCELFStreamer.cpp [MC] Error on a .zerofill directive in a non-virtual section 2018-07-02 17:29:43 +00:00
MCExpr.cpp [WebAssembly] Add support for the event section 2018-11-14 02:46:21 +00:00
MCFragment.cpp Fix typoed cast to avoid assertion in MCFragment::dump. 2018-06-18 16:26:11 +00:00
MCInst.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCInstPrinter.cpp
MCInstrAnalysis.cpp [TableGen][SubtargetEmitter] Add the ability for processor models to describe dependency breaking instructions. 2018-09-19 15:57:45 +00:00
MCInstrDesc.cpp
MCLabel.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCLinkerOptimizationHint.cpp MC: Change object writers to use endian::Writer. NFCI. 2018-05-21 18:17:42 +00:00
MCMachOStreamer.cpp [MC] Error on a .zerofill directive in a non-virtual section 2018-07-02 17:29:43 +00:00
MCMachObjectTargetWriter.cpp
MCNullStreamer.cpp [MC] Implement EmitRawText in MCNullStreamer 2018-11-01 15:41:11 +00:00
MCObjectFileInfo.cpp [DWARFv5] Emit normal type units in .debug_info comdats. 2018-11-09 19:06:09 +00:00
MCObjectStreamer.cpp [MC] Support labels as offsets in .reloc directive 2018-11-21 16:28:39 +00:00
MCObjectWriter.cpp
MCRegisterInfo.cpp [MC] Improve error message when a codeview register is unknown 2018-08-17 21:35:14 +00:00
MCSchedule.cpp [CodeGen] assume max/default throughput for unspecified instructions 2018-06-05 23:34:45 +00:00
MCSection.cpp The initial .text section generated in object files was missing the 2018-09-06 22:09:31 +00:00
MCSectionCOFF.cpp [COFF] Fix assembly output of comdat sections without an attached symbol 2018-07-23 22:15:19 +00:00
MCSectionELF.cpp [Hexagon] Handle Hexagon's SHF_HEX_GPREL section flag 2018-11-09 14:17:27 +00:00
MCSectionMachO.cpp
MCSectionWasm.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCStreamer.cpp [ARM64][Windows] MCLayer support for exception handling 2018-10-27 06:13:06 +00:00
MCSubtargetInfo.cpp [MC] fix documentation comments; NFC 2018-03-22 15:23:21 +00:00
MCSymbol.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCSymbolELF.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCTargetOptions.cpp
MCValue.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCWasmObjectTargetWriter.cpp [WebAssembly] Remove unused headers in MCWasmObjectWriter 2018-05-16 22:13:18 +00:00
MCWasmStreamer.cpp [WebAssembly] Parsing missing directives to produce valid .o 2018-11-02 22:04:33 +00:00
MCWin64EH.cpp [ARM64] [Windows] Improve error reporting for unsupported SEH unwind. 2018-11-08 21:20:52 +00:00
MCWinCOFFStreamer.cpp [MC] Add support for the .rva assembler directive for COFF targets 2018-07-26 20:11:26 +00:00
MCWinEH.cpp
MachObjectWriter.cpp llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00
StringTableBuilder.cpp [DWARFv5] Emit .debug_line_str (in a non-DWO file). 2018-02-06 20:29:21 +00:00
SubtargetFeature.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
WasmObjectWriter.cpp [WebAssembly] Remove unused function return types (NFC) 2018-11-20 00:38:10 +00:00
WinCOFFObjectWriter.cpp llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00