[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 分钟前
抖店 OPC(Operational Process Control)自动化运营系统:架构、痛点与服务商商业体系分析
运维·架构·自动化
BestHeaker31 分钟前
跨企业接口对接:IQDS / CPK 数据解析与协作避坑指南(五)
java·服务器·前端
其实防守也摸鱼41 分钟前
OpenClaw 深度解析:从原理到实战的完整指南
运维·服务器·数据库·github·copilot
rest10241 小时前
对ebpf的理解(3)
linux
AR-26710-1 小时前
Linux Day1——环境搭建与基础指令
linux
爱笑鱼1 小时前
Android 系统启动机制(七):进入 SystemServer.main() 以后,system_server 还是一个空进程吗?
android·linux
王的宝库1 小时前
Linux 性能优化入门
linux·学习
众壹新能源科技2 小时前
经营口径与运维口径不一致时,发电量报表怎么对账
运维·数据库·人工智能
2601_962100732 小时前
2026年旧素材怎么二次利用:图文批量转视频的自动化工作流工程复盘
运维·自动化·音视频
Jae den2 小时前
什么是反向代理?
服务器·网络