Si tengo dos módulos que están siendo enlazados estáticamente. La función module_init de un módulo depende de que la función module_init de otro módulo ya se haya ejecutado. ¿Hay alguna manera de forzar que un módulo se cargue antes que el otro?LINUX: orden del módulo enlazado estáticamente cargando
Además, ¿está garantizada la finalización de la función init del primer módulo antes de invocar el segundo?
Por último, si la respuesta a lo anterior es NO, ¿cuál es la forma recomendada de sincronizar las llamadas de inicio de dos módulos para asegurarme de que no tenga problemas?
1) ¿Qué idioma/cadena de herramientas, 2) ¿Quiere decir vinculado a un .so o un .a? – Erik
¿Te refieres a dos módulos de kernel de Linux? ¿Cómo están enlazados estáticamente? No puede vincular estáticamente dos objetos juntos con una función "módulo_inicio". –
Creo que owen lo tiene, dado que el símbolo 'module_init' es una parte integral del sistema de módulos kernel de Linux. @John deberías editar tu pregunta e incluir la etiqueta 'linux-kernel' - la etiqueta' linux' está (desafortunadamente) dominada por problemas del espacio de usuario, a menudo ni siquiera es específica de Linux. –