You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[IR] Allow uses of llvm.global_ctors and llvm.global_dtors
With PAuth enabled, signed function pointers in init/fini arrays are
going to be represented with `ptrauth` constants. To support address
discrimination for such signed pointers, we need to fill the storage
address with `getelementptr` referencing the array (`llvm.global_ctors`
or `llvm.global_dtors`) itself.
Such uses of these special arrays were previously disallowed since
`appendToGlobal{C|D}tors` did not update uses after construction of a new
array. This patch implements such update logic. This will be tested in a
follow-up patch introducing PAuth support for function pointers in init/fini
arrays since such signed pointers with address discrimination are
currently the only entities which have such uses needed to be updated.
0 commit comments