[fpc-pascal] syscalls and fpc
Jonas Maebe
jonas.maebe at elis.ugent.be
Sat Feb 16 22:11:56 CET 2008
On 16 Feb 2008, at 21:55, ik wrote:
> Exactly my point on the design in the first place. The corrent design
> takes integers only. Regarding the Linux Kernel, I did not knew about
> the floating points issues,
I don't know of a single OS kernel which supports using floating point
in kernel space.
> but what about pointers, arrays, structs
> etc ?
Pointers are the same size as TSysParam. There are no system calls
which take arrays, structs etc.
> "These days passing five parameters is not a problem any more, and
> there is a __NR__newselect (used by libc 6) that corresponds directly
> to sys_select() and similarly __NR_mmap2."
>
> So originally the problem was 5 parameters not 6 !
They added usage of ebp only later on.
> and there are
> functions that might have more then 6 parameters,
Which ones?
> BTW, why the C function uses var_args and not using overloads
C doesn't support function overloading.
> or other
> "magic" to pass the valid amount of parameters ?
> <int syscall(int number, ...);>
Function overloading is no more magic than varargs.
> And there are changes for every type of bit:
> "On newer platforms that only have 64-bit file access and 32-bit uids
> (e.g., alpha, ia64, s390x) there are no *64 or *32 calls. Where the
> *64 and *32 calls exist, the other versions are obsolete."
I don't understand what what this has to do with the way system call
interfacing works.
Jonas
More information about the fpc-pascal
mailing list