ffffff8009889e3c t __initcall_rockchip_clocks_loader_unprotect7s
ffffff8009889e40 t __initcall_mali_module_init7s
(此处本应有一个ffffff8009889e44函数指针,但此处缺失,do_initcall执行到这一项非法指针就跑飞了)
ffffff8009889e48 t __initcall_of_platform_sync_state_init7s
ffffff8009889e4c t __initcall_alsa_sound_last_init7s
…
搜索kernel所有源码,把所有late_initcall_sync都注释掉,__initcall7s已清空,实际结果如下,还是有一项无名非法指针:
ffffff8009889e44 T __initcall7s_start
ffffff8009889e48 T __con_initcall_start(由于__initcall7s_没有任何指针,此处应为44,不是48)
ffffff8009889e48 T __initcall_end(由于__initcall7s_没有任何指针,此处应为44,不是48)
干净的SDK编译完看kernel的system.map就不对
ffffff800994be30 T __initcall7s_start
ffffff800994be30 t __initcall_clear_boot_tracer7s
ffffff800994be34 t __initcall_rockchip_csi2_dphy_clr_unready_dev7s
ffffff800994be38 t __initcall_clk_disable_unused7s
ffffff800994be3c t __initcall_rockchip_pd_keepon_release7s
ffffff800994be40 t __initcall_rockchip_pm_drv_register7s
ffffff800994be44 t __initcall_regulator_init_complete7s
ffffff800994be48 t __initcall_rockchip_clocks_loader_unprotect7s
ffffff800994be4c t __initcall_mali_module_init7s
ffffff800994be50 t __initcall_sensor_mod_init7s
ffffff800994be54 t __initcall_rkisp1_clr_unready_dev7s
ffffff800994be58 t __initcall_rkisp_clr_unready_dev7s
(注:此处缺ffffff800994be5c)
ffffff800994be60 t __initcall_of_platform_sync_state_init7s
ffffff800994be64 t __initcall_alsa_sound_last_init7s
ffffff800994be68 T __con_initcall_start
ffffff800994be68 T __initcall_end
4.运行:调试口日志显示执行到以下位置死机:
[ 2.040135] rockchip-csi2-dphy0: No link between dphy and sensor
[ 2.040153] rkisp-vir0: update sensor failed
[ 2.042833] v�
对应system.map的initcalls7为:
ffffff800995cedc t __initcall_sensor_mod_init7s
ffffff800995cee0 t __initcall_rkisp1_clr_unready_dev7s
ffffff800995cee4 t __initcall_rkisp_clr_unready_dev7s
(此处缺失ffffff800995cee8,执行到这个非法函数指针后死机)
ffffff800995ceec t __initcall_of_platform_sync_state_init7s
ffffff800995cef0 t __initcall_alsa_sound_last_init7s log_map.zip (959 KB)