https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115170
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- aarch64-linux-gnu with my example I don't see a call via plt here either: PIC: ``` adrp x0, __dso_handle add x2, x0, :lo12:__dso_handle adrp x1, :got:f;ldr x1, [x1, :got_lo12:f] adrp x0, :got:_ZN1sD1Ev;ldr x0, [x0, :got_lo12:_ZN1sD1Ev] adrp x3, :got:__cxa_atexit;ldr x3, [x3, :got_lo12:__cxa_atexit] blr x3 nop ldp x29, x30, [sp], 16 ``` PIE: ``` adrp x0, __dso_handle add x2, x0, :lo12:__dso_handle adrp x0, f add x1, x0, :lo12:f adrp x0, :got:_ZN1sD1Ev;ldr x0, [x0, :got_lo12:_ZN1sD1Ev] adrp x3, :got:__cxa_atexit;ldr x3, [x3, :got_lo12:__cxa_atexit] blr x3 nop ldp x29, x30, [sp], 16 ```