[all-commits] [llvm/llvm-project] 6e3b2c: [llvm][MC][ARM][Assembly] Emit relocations for ADR...

Eleanor Bonnici via All-commits all-commits at lists.llvm.org
Fri Dec 1 05:54:18 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6e3b2cb46ef5b9d9d28ed337491ee7da7b296616
      https://github.com/llvm/llvm-project/commit/6e3b2cb46ef5b9d9d28ed337491ee7da7b296616
  Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
  Date:   2023-12-01 (Fri, 01 Dec 2023)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
    A llvm/test/MC/ARM/pcrel-adr16-relocs.s
    A llvm/test/MC/ARM/pcrel-adr32-relocs.s
    M llvm/test/MC/ARM/pcrel-arm-ldr-imm8-relocs.s
    M llvm/test/MC/ARM/pcrel-global.s
    M llvm/test/MC/ARM/pcrel-ldr-relocs.s
    M llvm/test/MC/ARM/pcrel-thumb-ldr2-relocs.s
    M llvm/test/MC/ARM/thumb1-relax-adr.s

  Log Message:
  -----------
  [llvm][MC][ARM][Assembly] Emit relocations for ADRs and big-endian targets (#73834)

Follow-up on https://github.com/llvm/llvm-project/pull/72873/
    
When ADR/LDR instructions reference a label in a different section, the
offset is not known until link time, however, the assembler assumes it
    can resolve them in some cases.
    
    The previous patch addressed the issue for most LDR instructions,
    focusing on little-endian targets.
    
This patch addresses the remaining work for ADRs and big-endian targets.




More information about the All-commits mailing list