On Thu Jun 12 09:35:29 EDT 2014, [email protected] wrote: > because the kernel assumes that returned vlong is passed > by reference in the first argument, where on amd64, the > (amd64) calling convention returns it in 64 bit AX register. > > so seek() is a library func that emulates the previous convention > for _seek() syscall.
that's not how the amd64 kernel has worked. the registers are 64 bits, the return value, regardless of where it is is 64 bits. for example, anything returning an address would already just work, such as segbrk. - erik
