[all-commits] [llvm/llvm-project] 6faba3: [ELF] --emit-relocs: adjust offsets of .rel[a].eh_...

Fangrui Song via All-commits all-commits at lists.llvm.org
Mon Mar 28 16:23:27 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6faba31e0d88ce71e87567ddb51d2444524b8a81
      https://github.com/llvm/llvm-project/commit/6faba31e0d88ce71e87567ddb51d2444524b8a81
  Author: Fangrui Song <i at maskray.me>
  Date:   2022-03-28 (Mon, 28 Mar 2022)

  Changed paths:
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/test/ELF/eh-frame-merge.s
    M lld/test/ELF/mips64-eh-abs-reloc.s

  Log Message:
  -----------
  [ELF] --emit-relocs: adjust offsets of .rel[a].eh_frame relocations

.eh_frame pieces may be dropped due to GC/ICF. When --emit-relocs adds
relocations against .eh_frame, the offsets need to be adjusted. Use the same
way as MergeInputSection with a special case handling outSecOff==-1 for an
invalid piece (see eh-frame-marker.s).

This exposes an issue in mips64-eh-abs-reloc.s that we don't reliably
handle anyway. Just add --no-check-dynamic-relocations to paper over it.

Original patch by Ayrton Muñoz

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




More information about the All-commits mailing list