smithp35 wrote:

I had been assuming that this patch didn't change lld behaviour from the 
comment in handleNonPreemptibleIfunc()

I've had some time to build and run lld on my example with this change and I 
notice that with this change I'm seeing the dynamic symbol table use the ifunc 
resolver.
```
     7: 0000000000210814    12 IFUNC   GLOBAL DEFAULT    14 ifn
```
Whereas my old lld uses
```
     7: 00000000002108d0     0 FUNC    GLOBAL DEFAULT   18 ifn
```

So as you say this will work and the comparison will go through OK. With that 
in mind this might be part of the reason why 3 tests are failing (visible in 
the CI):
  lld :: ELF/gnu-ifunc-canon.s
  lld :: ELF/ppc32-ifunc-nonpreemptible-pic.s
  lld :: ELF/ppc64-toc-relax-ifunc.s
The last one (ppc64...) looks to be crashing.

Will be good to update the comment in handleNonPreemptibleIfunc() 
https://github.com/llvm/llvm-project/blob/main/lld/ELF/Relocations.cpp#L1759 

https://github.com/llvm/llvm-project/pull/133531
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to