sort_main_extable
2024-08-27 03:14:39
参考:Linux异常表
1.函数调用关系
asmlinkage void __init start_kernel(void)
-->sort_main_extable();
-->sort_extable(__start___ex_table, __stop___ex_table);
-->sort(start, finish - start, sizeof(struct exception_table_entry),cmp_ex, NULL);
2.结构体说明
/*
* The exception table consists of pairs of addresses: the first is the
* address of an instruction that is allowed to fault, and the second is
* the address at which the program should continue. No registers are
* modified, so it is entirely up to the continuation code to figure out
* what to do.
*
* All the routines below use bits of fixup code that are out of line
* with the main instruction path. This means when everything is well,
* we don't even have to jump over them. Further, they do not intrude
* on our cache or tlb entries.
*/ struct exception_table_entry
{
unsigned long insn, fixup;
};
3.存储段,vmlinux.lds中
* The exception fixup table (might need resorting at runtime)
*/
. = ALIGN();
__start___ex_table = .;
#ifdef CONFIG_MMU
*(__ex_table)
#endif
__stop___ex_table = .;
最新文章
- c/c++中关于sizeof、strlen的使用说明
- nyoj20_吝啬的国度_DFS
- PHP5中使用PDO连接数据库的方法
- 在MACOS上实现交叉编译
- Mac下安装Tomcat及配置
- iOS开发——动画总结OC篇&;所有常用动画总结
- 重构11-Switch to Strategy(Switch到策略模式)
- RFC 2327--SDP
- MFC渐入渐出框实现方式二
- python 函数形参四种格式
- SuSE(SLES)安装配置syslog-ng日志server,可整合splunk
- C#代码和javascript函数相互调用
- C#/VB.NET对EXCEL图片添加超链接
- 201521123002《Java程序设计》第11周学习总结
- iOS-UINavigationBar【颜色设置】
- Spring MVC 实践 - Base
- Python:从入门到实践--第七章--用户输入和while循环-练习
- vb.net 與 SQLite連線
- GitHub 优秀的 Android 开源项目 (精品)
- mysql 开发进阶篇系列 28 数据库二进制包安装(centos系统准备)