On Thu, 2010-03-18 at 17:21 +0100, Andreas Schwab wrote: > Steven Munroe <munroesj@xxxxxxxxxxxxxxxxxx> writes: > > > extern long int syscall (long int __sysno, ...) __THROW; > > > > #endif /* Use misc. */ > > > > Changing this would be an ABI change and would have to be versioned. It > > would effect any one using syscall not just SYS_fallocate. > > > > the question is do programmers in practice include unistd.h when they > > use syscall. > > > > If the changed prototype is not in scope then the 1st parm (__sysno) > > defaults to int and is passed in on r3 which gets moved to r0. > > int is incompatible with long, so you already get undefined behaviour > anyway. > Sorry in and long are compatible in 32-bit but not long long. int and long are not compatible in 64-bit It is hard the keep all the nodes and arguments straight. But the concern about changing the prototype and are people actually using the prototype are still valid. > Andreas. > -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html