summaryrefslogtreecommitdiff
path: root/sys/compat
AgeCommit message (Collapse)Author
2013-11-03Remove a bunch of a.out related macros.Paul Irofti
2013-11-03Regenerate.Paul Irofti
a.out removal led to linux_sys_uselib being obsoleted.
2013-11-03Remove a.out support from compat_linux(8).Paul Irofti
Tested with the syscall regression test suite from IBM and Opera. Requested by deraadt@.
2013-10-31Fix readdir_with_callback() after cookies removal.Paul Irofti
The non-cookie path was probably always broken and never used. The file descriptor offset was never updated after a read so glibc and other syscall consumers would end-up in an infinite loop. Tested with the syscalls regression suite from IBM and with opera.
2013-10-25RegenPhilip Guenther
2013-10-25Unimplement stime() and settimeofday(): why are you using a Linux-compatPhilip Guenther
binary to change the system time? ok pirofti@
2013-10-25regenPhilip Guenther
2013-10-25Start to deal with the time_t change's effect on compat/linux:Philip Guenther
- add Linux versions of struct rusage, timeval, and itimerval and conversion functions for them - add Linux versions of getrusage(), gettimeofday(), {set,get}itimer(), and nanosleep() - fix various inconsistencies in naming of Linux versions of types and conversion functions - add mappings for LINUX_CLOCK_{PROCESS,THREAD}_CPUTIME_ID to the native versions Originally written months ago as part of the time_t work; long memory, prodding, and ok from pirofti@
2013-09-14miod completed the ELF conversion (and didn't even use this compat bit),Philip Guenther
so this old compat is dead
2013-08-13regenPhilip Guenther
2013-08-13Switch time_t, ino_t, clock_t, and struct kevent's ident and dataPhilip Guenther
members to 64bit types. Assign new syscall numbers for (almost all) the syscalls that involve the affected types, including anything with time_t, timeval, itimerval, timespec, rusage, dirent, stat, or kevent arguments. Add a d_off member to struct dirent and replace getdirentries() with getdents(), thus immensely simplifying and accelerating telldir/seekdir. Build perl with -DBIG_TIME. Bump the major on every single base library: the compat bits included here are only good enough to make the transition; the T32 compat option will be burned as soon as we've reached the new world are are happy with the snapshots for all architectures. DANGER: ABI incompatibility. Updating to this kernel requires extra work or you won't be able to login: install a snapshot instead. Much assistance in fixing userland issues from deraadt@ and tedu@ and build assistance from todd@ and otto@
2013-05-10compat_linux: Add support for future time_t and ino_t size enlargements.Paul Irofti
Reviewed by guenther@.
2013-04-10futex: Prevent multiple futex pool initializations.Paul Irofti
This is a temporary (ugly) fix, the pool init call should be moved from linux_elf_probe into a better place.
2013-04-10futex: Sprinkle a few debug printfs that helped me in the past.Paul Irofti
2013-04-10futex: Assert that the refcount is larger than 0 when doing futex_put.Paul Irofti
2013-04-09knf. even old ttys need love.Ted Unangst
2013-03-28it is believed that the comment is referring to the define below.Ted Unangst
all thinking performed by tim van der molen
2013-03-26update define name to reflect fact this is openbsd. kill dead code.Ted Unangst
ok deraadt
2013-03-26remove the old_?magic aout exec functions which are never used.Ted Unangst
ok deraadt
2013-01-15Process futex requeuing even when the thread times out or is signaled.Philip Guenther
Bug report from frantisek holop (minusf at obiit.org) ok pirofiti@
2012-11-19Use a more descriptive name for the userland cas operation.Paul Irofti
Substitute atomic_ucas_32 with futex_atomic_ucas_int32 to make it obvious who's using this api. Suggested by and okay kettenis@.
2012-09-11Remove the 'OLF method' used for the transition from a.out to ELF andTheo de Raadt
for all the compat layers which are now gone. Linux compat still works because it always used another method in any case, and nothing looks at p_os anymore. ok jsing
2012-09-05struct orlimit is only used by linux compat now, and can stop pollutingTheo de Raadt
the system .h files
2012-06-26Don't ignore SOCK_CLOEXEC and SOCK_NONBLOCK.Paul Irofti
CAVEATS: Assumes that a new socket can't have any of the FCNTLFLAGS set on it, which _is_ true, currently... (guenther@) Okay guenther@, deraadt@.
2012-06-20Copy the set_tls_base flag when forking.Paul Irofti
This enables the linux_child_return bits that set the TLS base in the newly forked process. Before this, processes that had the flag set would get a null pointer and segfault when trying to access the TLS area. Chased down and fixed by me. Turned into a proper one line diff by guenther@.
2012-06-19Count should always start from zero.Paul Irofti
Doesn't matter if we need to relocate or not. Makes sense to jasper@
2012-06-19Set the appropiate return value on futex wait.Paul Irofti
Okay jasper@
2012-06-19Avoid eternal sleep.Paul Irofti
Sleep on the actual data address and not on the stack address of the pointer to the data. Okay jasper@
2012-06-19Add extra argument validation for the futex syscall.Paul Irofti
Okay jasper@
2012-06-19- remove outdated comment, we already do an equivalent of linux' access_ok()Jasper Lievisse Adriaanse
using copyin() anyway. ok pirofti@
2012-06-19Regenerate.Paul Irofti
2012-06-19Implement linux_sys_tgkill.Paul Irofti
Nobody calls linux_sys_tkill anymore so code for that is not needed. If this will become an issue in the future a simple wrapper will fix that. Okay jasper@.
2012-06-19Regenerate.Paul Irofti
2012-06-19Add dummies for the epoll and eventfd syscall families.Paul Irofti
Okay jasper@
2012-06-19Add socket type mask to filter out implementation specific flags.Paul Irofti
The newer glibc's, when creating a socket, add some higher bit flags to the type argument that are used for debug, statistics, profiling whatever. They are not useful and implementation specific. This is needed for DNS resolving, otherwise the nss library from glibc will always fail to do the right thing. Okay jasper@
2012-06-19Improve debug output and fix some style. No functional change.Paul Irofti
2012-06-19Change the pool_get() flags from WAITOK to NOWAIT.Paul Irofti
This avoids a potential lost-wakeup as pointed out by guenther@. Now the futex is locked all through the process and EAGAIN is returned on failure. Makes sense to guenther@.
2012-06-16compat_linux: Don't hold the lock while pool_get'ing with WAITOK.Paul Irofti
Okay jasper@.
2012-06-08RegeneratePaul Irofti
2012-06-08Remove the lack of gettid() implementation. Okay tedu@Paul Irofti
Looks right to jasper@ as well.
2012-05-25Change the KERN_FILE_BYPID and KERN_FILE_BYUID modes of the KERN_FILE2Philip Guenthe
sysctl() to be per-process instead of per-thread. This means the filedesc table has to really be per-process instead of per-thread, so make it an error for the linux clone() emulation to try to do otherwise. This removes pointless duplication in fstat's output. requested by jsing@ and deraadt@, ok matthew@ deraadt@
2012-05-24If LINUX_CLONE_SETTLS isn't set, then the clone()d child should inheritPhilip Guenthe
the TCB value from the parent instead of having it zeroed. ok pirofti@
2012-05-23Regenerate.Paul Irofti
2012-05-23Add emulation support for fstatfs64.Paul Irofti
Okay matthew@.
2012-05-23Regenerate.Paul Irofti
2012-05-23Add support for statfs64.Paul Irofti
While at it get rid of some magic numbers and add support for more filesystem types (like NTFS, AFS etc.). Suggestions and feedback from ajacoutot@, jsing@ and matthew@. Okay matthew@.
2012-04-22Add struct proc * argument to FRELE() and FILE_SET_MATURE() inPhilip Guenthe
anticipation of further changes to closef(). No binary change. ok krw@ miod@ deraadt@
2012-04-12rfork cleanupPhilip Guenthe
2012-04-10Make the KERN_NPROCS and KERN_MAXPROC sysctl()s and the RLIMIT_NPROC rlimitPhilip Guenthe
count processes instead of threads. New sysctl()s KERN_NTHREADS and KERN_MAXTHREAD count and limit threads. The nprocs and maxproc kernel variables are replaced by nprocess, maxprocess, nthreads, and maxthread. ok tedu@ mikeb@
2012-03-23Make rusage totals, itimers, and profile settings per-process insteadPhilip Guenthe
of per-rthread. Handling of per-thread tick and runtime counters inspired by how FreeBSD does it. ok kettenis@