https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115170
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |INVALID --- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Cristian RodrÃguez from comment #6) > I found it in executable made with current GCC HEAD on x86_64.. > > It is sufficient to demonstrate with the example code here > > https://en.cppreference.com/w/c/program/atexit > > ggcc-15 -march=native -Wall -Wextra -O2 -g -fPIE (or -fPIC) -fhardened > -fno-plt example.c > > > 1172: call 1040 <__cxa_finalize@plt> > 11fd: jmp 1050 <__cxa_atexit@plt> That is coming from already compiled code in crt*.o. __cxa_finalize is from __do_global_dtors_aux in crtstuff.c from libgcc. This is not from newly compiled code that you used -fno-plt with.