2012/7/15 Mulyadi Santosa <mulyadi.santosa@gmail.com>
Hi...
On Sun, Jul 15, 2012 at 9:28 AM, 王哲 <wangzhe5004@gmail.com> wrote:
and the second program:
#include <stdio.h> #include <unistd.h>
int main(void) { unsigned long value = 0; value = getpid(); return 0; }
and disassembling it:( objdump -d a.out) ... 08048300 <getpid@plt>: 8048300: ff 25 00 a0 04 08 jmp *0x804a000 8048306: 68 00 00 00 00 push $0x0 804830b: e9 e0 ff ff ff jmp 80482f0 <_init+0x3c>
Looks like jumping into vsyscall page to me...
thanks for reply. and i wander why the address of vsyscall page is not 0xffffe000 in my system? ... b7806000-b7807000 r-xp 00000000 00:00 0 [vdso] b7807000-b7827000 r-xp 00000000 08:08 2491275 /lib/i386-linux-gnu/ ld-2.15.so b7827000-b7828000 r--p 0001f000 08:08 2491275 /lib/i386-linux-gnu/ ld-2.15.so b7828000-b7829000 rw-p 00020000 08:08 2491275 /lib/i386-linux-gnu/ ld-2.15.so ... root@glinuxi-G31M-ES2C:~# ldd /bin/ls linux-gate.so.1 => (0xb786b000) libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb7839000) librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb7830000) libacl.so.1 => /lib/i386-linux-gnu/libacl.so.1 (0xb7826000) ...
-- regards,
Mulyadi Santosa Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com