c - What's the purpose of _dl_sysinfo_int80? -
i mean, why not issue int instruction directly?
dump of assembler code function execve: [omitted] 0x0806c282 <+18>: call *0x80e99f0 [omitted] end of assembler dump. (gdb) disas *0x80e99f0 dump of assembler code function _dl_sysinfo_int80: 0x0806ed70 <+0>: int $0x80 0x0806ed72 <+2>: ret end of assembler dump. from inexperienced point of view, _dl_sysinfo_int80 adds nothing overhead.
there various ways perform system call. oldest , slowest int 0x80. advantage works on systems. later, intel introduced sysenter , amd introduced syscall instruction. these unfortunately not compatible, , work on chips. best implementation can used, level of indirection has been added. kernel provides entry code mapped every process (part of vdso). far can tell, _dl_sysinfo_int80 used fallback when kernel provided code reason not available.
Comments
Post a Comment