[all-commits] [llvm/llvm-project] 80f9fd: [ELF][test] Rework non-preemptible ifunc tests

Fangrui Song via All-commits all-commits at lists.llvm.org
Thu Jul 15 11:31:25 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 80f9fd4ce32b59d055543aef75d651f9ffcda182
      https://github.com/llvm/llvm-project/commit/80f9fd4ce32b59d055543aef75d651f9ffcda182
  Author: Fangrui Song <i at maskray.me>
  Date:   2021-07-15 (Thu, 15 Jul 2021)

  Changed paths:
    R lld/test/ELF/gnu-ifunc-dynsym.s
    A lld/test/ELF/gnu-ifunc-nonpreemptible.s
    R lld/test/ELF/gnu-ifunc.s

  Log Message:
  -----------
  [ELF][test] Rework non-preemptible ifunc tests


  Commit: f8cb78e99aae9aa3f89f7bfe667db2c5b767f21f
      https://github.com/llvm/llvm-project/commit/f8cb78e99aae9aa3f89f7bfe667db2c5b767f21f
  Author: Fangrui Song <i at maskray.me>
  Date:   2021-07-15 (Thu, 15 Jul 2021)

  Changed paths:
    M lld/ELF/Writer.cpp
    M lld/test/ELF/gnu-ifunc-nonpreemptible.s

  Log Message:
  -----------
  [ELF] Don't define __rela_iplt_start for -pie/-shared

`clang -fuse-ld=lld -static-pie -fpie` produced executable
currently crashes and this patch makes it work.

See https://sourceware.org/bugzilla/show_bug.cgi?id=27164
and https://sourceware.org/pipermail/libc-alpha/2021-July/128810.html

While it seems unreasonable to keep csu/libc-start.c ARCH_APPLY_IREL unclear in
static-pie mode and have an unneeded diff -u =(ld.bfd --verbose) =(ld.bfd -pie
--verbose) difference, glibc folks don't want to fix their code.
I feel sad about that but this patch can remove an iffy condition for lld/ELF
as well: `needsInterpSection()`.


Compare: https://github.com/llvm/llvm-project/compare/c03d25860a6f...f8cb78e99aae


More information about the All-commits mailing list