我發現的glibc在mmap.S已經mmap的,並且代碼如下:哪裏可以找到mmap(systeml call)的源代碼?
...
movl 20(%esp), %ebx
cfi_rel_offset (ebx, 8)
movl 24(%esp), %ecx
movl 28(%esp), %edx
movl 32(%esp), %esi
cfi_rel_offset (esi, 4)
movl 36(%esp), %edi
cfi_rel_offset (edi, 0)
movl 40(%esp), %ebp
cfi_rel_offset (ebp, 12)
testl $0xfff, %ebp
movl $-EINVAL, %eax
jne L(skip)
shrl $12, %ebp /* mmap2 takes the offset in pages. */
movl $SYS_ify(mmap2), %eax /* System call number in %eax. */
ENTER_KERNEL /* Do the system call trap. */
...
好像mmap2的實部是在內核中。那麼我在哪裏可以找到它的源代碼?
'似乎mmap2的實際部分在內核中。「 - 是的,系統調用是由內核實現的。你可以在kernel.org上找到Linux內核。 – Tsyvarev