Lab4 分析 time/gettimeofday 系统调用在 ARM64 Linux 中的执行过程

本文详细分析了在ARM64架构的Linux系统中,如何通过gettimeofday库函数和汇编触发系统调用。从调试准备到系统调用执行流程,包括同步异常处理、内核堆栈pt_reg的保存以及time/gettimeofday的具体调用路径。通过内核入口、异常处理和系统调用返回的步骤,展示了系统调用在Linux内核中的工作原理。
摘要由CSDN通过智能技术生成

Lab4 分析 time/gettimeofday 系统调用在 ARM64 Linux 中的执行过程

本次实验基于Ubuntu20.04实现。

调试准备

​ 基于Lab3的配置,将Linux源码编译为ARM架构并能够利用GDB进行调试。

开发工具

sudo apt-get install gcc-aarch64-linux-gnu
sudo apt install gdb-multiarch
sudo apt install qemu-system-aarch64

编译内核

make defconfig ARCH=arm64
make menuconfig ARCH=arm64

Kernel hacking  --->
    Compile-time checks and compiler options  --->
        [*] Compile the kernel with debug info
        [*]   Provide GDB scripts for kernel debugging
    [*] Kernel debugging
Kernel Features ---->
    [] Randomize the address of the kernel image
    
make Image -j$(nproc) ARCH=arm64 Image 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值