[all-commits] [llvm/llvm-project] 52fc6f: [ELF] Refine isExported/isPreemptible condition

Fangrui Song via All-commits all-commits at lists.llvm.org
Wed Feb 5 21:16:34 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 52fc6ffcda0895c0c7b976ad1f5cb5a282b571d2
      https://github.com/llvm/llvm-project/commit/52fc6ffcda0895c0c7b976ad1f5cb5a282b571d2
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/test/ELF/executable-undefined-ignoreall.s
    M lld/test/ELF/ppc32-weak-undef-call.s
    M lld/test/ELF/ppc64-undefined-weak.s
    M lld/test/ELF/riscv-gp.s
    M lld/test/ELF/weak-undef-lib.s
    M lld/test/ELF/weak-undef-no-dynamic-linker.s
    M lld/test/ELF/weak-undef-rw.s

  Log Message:
  -----------
  [ELF] Refine isExported/isPreemptible condition

Reland 994cea3f0a2d0caf4d66321ad5a06ab330144d89 after bolt tests no
longer rely on -pie --unresolved-symbols=ignore-all with no input DSO
generating PLT entries.

---

Commit f10441ad003236ef3b9e5415a571d2be0c0ce5ce , while dropping a
special case for isUndefWeak and --no-dynamic-linking, made
--export-dynamic ineffective when -pie is used without any input DSO.

This change restores --export-dynamic and unifies -pie and -pie
--no-dynamic-linker when there is no input DSO.

* -pie with no input DSO suppresses undefined symbols in .dynsym.
  Previously this only appied to -pie --no-dynamic-linker.
* As a side effect, -pie with no input DSO suppresses PLT.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list