[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

相关推荐
栈低来信5 小时前
SLUB分配器
linux
吕司5 小时前
Linux信号产生
linux·运维·服务器
A.A呐5 小时前
【Linux第九章】程序地址空间
linux
打码人的日常分享6 小时前
数据中心信息中心信息科管理制度
大数据·运维·网络·云计算·制造
vortex57 小时前
Linux 终端优化:Alacritty + Zellij 配置指南
linux·kali·终端模拟器
juncaixingchilove7 小时前
Linux轻量级浏览器
运维·服务器
码农编程录8 小时前
【notes11】并发/IO/内存
linux
cuijiecheng20188 小时前
Linux下MyIpAdd库的使用
linux·运维·服务器
一路往蓝-Anbo8 小时前
第 12 章:Linux 侧 RPMsg 用户态驱动与数据接口
linux·运维·服务器·stm32·单片机·嵌入式硬件·网络协议
乔碧萝成都分萝9 小时前
二十六、IIO子系统 + SPI子系统 + ICM20608
linux·驱动开发·嵌入式