ahmedbougacha wrote:

`__auth_got` is for the linker's `__auth_stubs`.  The compiler uses 
`__DATA,__auth_ptr`, which is generally treated in similar ways at link-time 
and later.  It obviates the need for the extra relocation, because the compiler 
can describe the signing scheme it wants using the same `@AUTH`.  For several 
reasons, we now generally avoid using it, except for cases that don't have 
better alternatives (extern_weak materialization, mostly, and even then, there 
are several issues that need addressing.)

If one were to make nonlazybind use a signed pointer, that could be one way to 
do it.  A better way would be something  like LOADgotPAC, performing a call 
rather than a load, i.e., an atomic GOT-ADRP-LDR-BLR using x16 instead of a GPR.

But anyway, more to the point: what the toolchain indeed doesn't support is 
`-fno-plt`.  Can you make it ignored for darwin targets?  Would that be enough 
for your usage?

https://github.com/llvm/llvm-project/pull/188638
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to