README.md
1# cdtors
2
3## Task
4
5Ensure for constructors and destructors of shared libraries:
6
7- they are called
8- expected call effects are observable
9- launched in the orinal order (TBD)
10
11## Note
12
13- Commonly `.preinit_array`/`.init`/`.init_array` sections are used for shared object initialization; and `.fini`/`.fini_array` are for finalization
14- musl ARM/AArch64 supports only execution of `.init_array`/`.fini_array` sections
15 - follow `NO_LEGACY_INITFINI` macro in https://gitee.com/openharmony/third_party_musl/commit/1da53dad278f98b7712ac002162afaa8815ba580
16- only one of init_array sections gets executed, usually the one of last linked lib. This results in init_X_N constructors being ignored for all other linked libs thus giving some subtest failures. This can only be fixed in musl.
17