[all-commits] [llvm/llvm-project] 72e75c: [MC][ELF] Allow STT_SECTION referencing SHF_MERGE ...

Fangrui Song via All-commits all-commits at lists.llvm.org
Sun Dec 20 18:37:32 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 72e75ca343c6ff927a2242efee3f4640943eedd6
      https://github.com/llvm/llvm-project/commit/72e75ca343c6ff927a2242efee3f4640943eedd6
  Author: Fangrui Song <i at maskray.me>
  Date:   2020-12-20 (Sun, 20 Dec 2020)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/MC/ELF/basic-elf-32.s
    M llvm/test/MC/ELF/compression.s
    M llvm/test/MC/ELF/relocation-386.s
    M llvm/test/MC/Mips/elf-relsym.s
    M llvm/test/MC/Mips/xgot.s

  Log Message:
  -----------
  [MC][ELF] Allow STT_SECTION referencing SHF_MERGE on REL targets

This relands D64327 with a more specific workaround for R_386_GOTOFF
(gold<2.34 bug https://sourceware.org/bugzilla/show_bug.cgi?id=16794)

.debug_info has quite a few .debug_str relocations (R_386_32/R_ARM_ABS32).
The original workaround was too general and introduced too many .L symbols
used just as relocation targets.

>From the original review:

  ... it reduced the size of a big ARM-32 debug image by 33%. It contained ~68M
  of relocations symbols out of total ~71M symbols (96% of symbols table was
  generated for relocations with symbol).




More information about the All-commits mailing list