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
