[Linux] vdso 32bit vs 64bit

不实践还真是不知道,vdso,在32位和64位之间还有差别。

https://github.com/mzhan017/dump-vdso

32bit的vdso提供的接口函数:

复制代码
mzhan017@:/mnt/d/dump-vdso$ ./dump-vdso-32 -s
Name                                     Address      Offset
----                                     -------      ------
__kernel_vsyscall                        0xf7fa1560 0x00000560
__vdso_gettimeofday                      0xf7fa1790 0x00000790
__vdso_clock_getres                      0xf7fa2520 0x00001520
__vdso_clock_gettime64                   0xf7fa2030 0x00001030
__kernel_sigreturn                       0xf7fa1580 0x00000580
__vdso_time                              0xf7fa1b40 0x00000b40
__kernel_rt_sigreturn                    0xf7fa1590 0x00000590
__vdso_clock_gettime                     0xf7fa1b80 0x00000b80
__vdso_getcpu                            0xf7fa25b0 0x000015b0

64bit提供的

复制代码
mzhan017@:/mnt/d/dump-vdso$ ./dump-vdso -s
Name                                     Address            Offset
----                                     -------            ------
clock_gettime                            0x00007fffc1f8fa70 0x00000a70
__vdso_gettimeofday                      0x00007fffc1f8f7b0 0x000007b0
clock_getres                             0x00007fffc1f8fdd0 0x00000dd0
__vdso_clock_getres                      0x00007fffc1f8fdd0 0x00000dd0
gettimeofday                             0x00007fffc1f8f7b0 0x000007b0
__vdso_time                              0x00007fffc1f8fa40 0x00000a40
__vdso_sgx_enter_enclave                 0x00007fffc1f8fe70 0x00000e70
time                                     0x00007fffc1f8fa40 0x00000a40
__vdso_clock_gettime                     0x00007fffc1f8fa70 0x00000a70
__vdso_getcpu                            0x00007fffc1f8fe40 0x00000e40
getcpu                                   0x00007fffc1f8fe40 0x00000e40

差异介绍:

https://zhuanlan.zhihu.com/p/436454953

相关推荐
律宏阔2 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔2 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴2 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千2 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei372 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei372 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei372 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh2 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW2 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
百万蹄蹄向前冲2 小时前
双端同步!云服务器装最新Node.js v26.10全过程追踪
服务器·人工智能·node.js