[all-commits] [llvm/llvm-project] c38952: [MC][ARM] Make .reloc support arbitrary relocation...

Fangrui Song via All-commits all-commits at lists.llvm.org
Fri Mar 27 12:30:05 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: c389526171ebe7985ec670676922896d324448b5
      https://github.com/llvm/llvm-project/commit/c389526171ebe7985ec670676922896d324448b5
  Author: Fangrui Song <maskray at google.com>
  Date:   2020-03-27 (Fri, 27 Mar 2020)

  Changed paths:
    M llvm/include/llvm/MC/MCFixup.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    A llvm/test/MC/ARM/reloc-directive-err.s
    M llvm/test/MC/ARM/reloc-directive.s

  Log Message:
  -----------
  [MC][ARM] Make .reloc support arbitrary relocation types

Generalizes D61992. In GNU as, the .reloc directive supports arbitrary relocation types.

A MCFixupKind value `V` larger than or equal to FirstLiteralRelocationKind
is used to represent the relocation type whose number is V-FirstLiteralRelocationKind.

This is useful for linker tests. Without the feature the assembler
cannot produce certain relocation records (e.g.  R_ARM_ALU_PC_G0/R_ARM_LDR_PC_G0)
This helps move forward D75349 and D76575.

Differential Revision: https://reviews.llvm.org/D76746




More information about the All-commits mailing list