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