You copied the Doc URL to your clipboard.

--cppinit, --no_cppinit

Enables the linker to use alternative C++ libraries with a different initialization symbol if required.



Where symbol is the initialization symbol to use.


If you do not specify --cppinit=symbol then the default symbol __cpp_initialize__aeabi_ is assumed.

--no_cppinit does not take a symbol argument.


The linker adds a non-weak reference to symbol if any static constructor or destructor sections are detected.

For --cppinit=__cpp_initialize__aeabi_ in AArch32 state, the linker processes R_ARM_TARGET1 relocations as R_ARM_REL32, because this is required by the __cpp_initialize__aeabi_ function. In all other cases R_ARM_TARGET1 relocations are processed as R_ARM_ABS32.


There is no equivalent of R_ARM_TARGET1 in AARCH64 state.

--no_cppinit means do not add a reference.