Age | Commit message (Collapse) | Author |
|
so this old compat is dead
|
|
|
|
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@
|
|
Reviewed by guenther@.
|
|
This is a temporary (ugly) fix, the pool init call should be moved from
linux_elf_probe into a better place.
|
|
|
|
|
|
|
|
all thinking performed by tim van der molen
|
|
ok deraadt
|
|
ok deraadt
|
|
Bug report from frantisek holop (minusf at obiit.org)
ok pirofiti@
|
|
Substitute atomic_ucas_32 with futex_atomic_ucas_int32 to make it
obvious who's using this api.
Suggested by and okay kettenis@.
|
|
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
|
|
the system .h files
|
|
CAVEATS: Assumes that a new socket can't have any of the
FCNTLFLAGS set on it, which _is_ true, currently... (guenther@)
Okay guenther@, deraadt@.
|
|
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@.
|
|
Doesn't matter if we need to relocate or not.
Makes sense to jasper@
|
|
Okay jasper@
|
|
Sleep on the actual data address and not on the stack address of
the pointer to the data.
Okay jasper@
|
|
Okay jasper@
|
|
using copyin() anyway.
ok pirofti@
|
|
|
|
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@.
|
|
|
|
Okay jasper@
|
|
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@
|
|
|
|
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@.
|
|
Okay jasper@.
|
|
|
|
Looks right to jasper@ as well.
|
|
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@
|
|
the TCB value from the parent instead of having it zeroed.
ok pirofti@
|
|
|
|
Okay matthew@.
|
|
|
|
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@.
|
|
anticipation of further changes to closef(). No binary change.
ok krw@ miod@ deraadt@
|
|
|
|
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@
|
|
of per-rthread. Handling of per-thread tick and runtime counters
inspired by how FreeBSD does it.
ok kettenis@
|
|
|
|
ok pirofti@
|
|
linux bits compiled on i386 by sebastia@, mikeb@ ok
|
|
ok pirofti@
|
|
the IPC_RMID flag.
This is permitted as an extension beyond the standards and this is similar
to what other operating systems like linux do.
Because compat_linux(8) was emulating this already, remove that code
since now this is the default.
input from oga@, guenther@, jmc@, deraadt@
ok deraadt@
|
|
|
|
Noticed by fgs@, thanks!
|
|
|