Hi,

Simple code:

$ cat simple_64bit_syscall.s
.text
.globl main
main:

xorq %rax, %rax
xorq %rdi, %rdi
xorq %rsi, %rsi
xorq %rdx, %rdx
xorq %rcx, %rcx
xorq %r8, %r8
xorq %r9, %r9
movq $1, %rax
int $0x91


$ as -xarch=amd64 simple_64bit_syscall.s -o simple_64bit_syscall.o && ld
simple_64bit_syscall.o -o simple_64bit_syscall

$ truss ./simple_64bit_syscall
execve("simple_64bit_syscall", 0xFFFFFD7FFFDFFD08, 0xFFFFFD7FFFDFFD18)
argc = 1
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON, 4294967295, 0) = 0xFFFFFD7FFF3A0000
resolvepath("/usr/lib/amd64/ld.so.1", "/lib/amd64/ld.so.1", 1023) = 18
getcwd("/home/estibi", 1002)                    = 0
resolvepath("/home/estibi/simple_64bit_syscall",
"/home/estibi/simple_64bit_syscall", 1023) = 33
stat("/home/estibi/simple_64bit_syscall", 0xFFFFFD7FFFDFF910) = 0
open("/var/ld/64/ld.config", O_RDONLY)          Err#2 ENOENT
_exit(-2753074036736)


Why the function argument is '-2753074036736' instaad of 1?



-- 
Regards,
Piotr Jasiukajtis | estibi | SCA OS0072
http://estseg.blogspot.com

_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to