android - Android内核中PC和LR功能相同

标签 android assembly linux-kernel arm

我遇到的问题是 PC1LR2 都指向 内核的 sched.c 中的函数 cpuacct_charge() 中。有没有可能发生这种情况的情况?我的分析表明 cpuacct_charge() 函数中没有递归。我无法提供代码。但是,任何发生这种情况的情况都会有很大帮助。

澄清一下:PC和LR的值在函数中指向不同的位置:
void cpuacct_charge(struct task_struct *tsk, u64 cputime)

注释 1: PC - 程序计数器
注释 2: LR - 链接寄存器

最佳答案

当函数返回时,它基本上会跳转到链接寄存器中的地址。

因此,大概您在函数返回后立即暂停了程序。

关于android - Android内核中PC和LR功能相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15293295/

相关文章:

android - 调试原生 Android 时的 SIG33

android - 堆大小高但分配大小低时会发生内存不足错误。为什么?

assembly - x86-64组装测试-JLE

linux - ASLR 和地址

linux - 哪些系统调用不会被信号中断?

linux - 在 Linux 或 Ubuntu 中,如何在没有任何外部工具的情况下获取硬件信息(确切的计算机型号、版本)?或者 lshw 如何在下面获取此信息?

android - 如何使网页上的比特币支付按钮启动android钱包应用程序

android - 动态添加数据行

c - 使用内联组件绘制像素 VGA

linux - Linux 内核如何决定使用哪个内存区域?