blob: c2b244c84a4d2db4346a01a6ce11f4699f9db456 [file] [log] [blame]
This test is here to check that all constructors and destructors
are placed in the .init_array and .fini_array sections. More precisely:
- The address of functions with __attribute__((constructor)) are placed in
the .init_array section.
- The address of functions with __attribute__((destructor)) are placed in
the .fini_array section
- The address of static C++ constructors are placed in the .init_array
section. There is no corresponding entry in the .fini_array for the
corresponding destructors. Instead, the constructor must call __cxa_atexit
to register the destructors manually.
The main idea is to check that there is no .ctors or .dtors section in the
generated shared library.