mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-21 06:33:31 +00:00
1b4f7ae0d3
Functions registered with 'module_init' (i.e., '__define_initcalls'), 'OF_DECLARE', and 'DECLARE_PCI_FIXUP_CLASS_FINAL' used to be static constructors and had be explicitly registered using 'exec_static_constructors' before executing any Linux code. With this commit we remove the constructor attributes from these functions and create a global function pointer in the form of __initptr_<name>_<id>_<counter>_<line number of macro> 'import-lx_emul_common.inc' will collect these '__initptr' symbols after the compile step and generate a 'lx_emul_register_initcalls' function that executes the functions pointed to. This step is now automatically performed in 'lx_emul_start_kernel'. This way a call to 'exec_static_constructors' can be omitted in case there are no other constructors in place. issue #5096 |
||
---|---|---|
.. | ||
import | ||
mk |