全部博文(51)
发布时间:2021-09-17 16:41:46
脚本中(区别于默认的链接脚本),这些脚本存储在arch,如arm64该文件使用了linux/include/asm-generic/vmlinux.lds.h本文介绍一个特殊段, __ex_table, 定义如下:#define _ASM_EXTABLE(from, to) &nbs.........【阅读全文】
发布时间:2021-09-04 22:12:58
上一篇介绍了Arm64 FP/LR两个寄存器,并通过一个简单的例子来解释了它们在函数调用中作用。这里继续介绍x86的子函数调用及stact frame,其中用到同上篇的toy example来帮助理解所讲的内容。Register首先简单介绍下寄存器与栈帧,这个是理解subroutine call的基础。来看一下几个与本节内容相关的x86-64 arch的寄存器.........【阅读全文】
发布时间:2021-08-04 22:35:48
ARM64 PCS(procedure Call Stanard)定义:X29 is the frame pointer register (FP). 用来定位有效的栈帧记录。X30 is the link register (LR). The branch-and-linkinstructions that store a return address in the link register (BL and BLR), settingthe register X30 to PC+4. Calls tosubroutines,.........【阅读全文】
发布时间:2021-01-28 13:55:30
perf-probe 支持对unload kernel module添加dynamic event,待module被加载后可以使能对应的event;其help中 -m option说明了这一点: -m, --module=MODNAME|PATH Specify module name in which perf-probe searches probe points or l.........【阅读全文】
发布时间:2021-01-21 23:24:37
发现一个gcc的问题:在使能-fpatchable-function-entry的情况下,DW_AT_low_pc的值与对应的函数entry address不一致。 -fpatchable-function-entry=N[,M] Generate N NOPs right at the beginning of each function, with the function entry point .........【阅读全文】