Age | Commit message (Collapse) | Author | Lines | |
---|---|---|---|---|
2014-01-08 | fix inadvertent use of struct in place of union for semun | Rich Felker | -3/+3 | |
2014-01-08 | fix type of semctl variadic argument | Rich Felker | -4/+10 | |
per POSIX, the variadic argument has type union semun, which may contain a pointer or int; the type read depends on the command being issued. this allows the userspace part of the implementation to be type-correct without requiring special-casing for different commands. the kernel always expects to receive the argument interpreted as unsigned long (or equivalently, a pointer), and does its own handling of extracting the int portion from the representation, as needed. this change fixes two possible issues: most immediately, reading the argument as a (signed) long and passing it to the syscall would perform incorrect sign-extension of pointers on the upcoming x32 target. the other possible issue is that some archs may use different (user-space) argument-passing convention for unions, preventing va_arg from correctly obtaining the argument when the type long (or even unsigned long or void *) is passed to it. | ||||
2012-09-22 | fix IPC_64 in msgctl too | Rich Felker | -4/+0 | |
2012-09-22 | fix broken semctl on systems that don't use IPC_64 flag | Rich Felker | -2/+6 | |
not tested on mips and arm; they may still be broken. x86_64 should be ok now. | ||||
2011-04-13 | numerous fixes to sysv ipc | Rich Felker | -1/+1 | |
some of these definitions were just plain wrong, others based on outdated ancient "non-64" versions of the kernel interface. as much as possible has now been moved out of bits/* these changes break abi (the old abi for these functions was wrong), but since they were not working anyway it can hardly matter. | ||||
2011-04-06 | consistency: change all remaining syscalls to use SYS_ rather than __NR_ prefix | Rich Felker | -1/+1 | |
2011-03-20 | global cleanup to use the new syscall interface | Rich Felker | -2/+2 | |
2011-02-12 | initial check-in, version 0.5.0v0.5.0 | Rich Felker | -0/+18 | |