================
@@ -1505,6 +1505,10 @@ class TargetInfo : public TransferrableTargetInfo,
   bool supportsIFunc() const {
     if (getTriple().isOSBinFormatMachO())
       return true;
+    if (getTriple().isOSWindows() && getTriple().isAArch64())
+      return true;
+    if (getTriple().getArch() == llvm::Triple::ArchType::avr)
----------------
mstorsjo wrote:

I noted the same, but it seems it's intentional.

One of the existing tests use ifuncs for an `avr-unknown-unknown` target (which 
is OS-less). Previously, ifunc was accepted for any `TargetELFOrMachO`, which I 
guess was true for `avr-unknown-unknown`. But now it's only accepted for 
targets that are accepted by the `supportsIFunc()` method, which only accept a 
few specific OSes on ELF.

On the other hand, it doesn't seem consistent, that for baremetal, ifunc is 
supported depending on the architecture - but this is needed to keep the 
existing tests passing at least.

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

Reply via email to