Age | Commit message (Collapse) | Author |
|
find the link-layer address of an interface, use the pointer to
the sockaddr_dl already present in the interface's descriptor.
Tested for regression by pirofti@ with opera.
|
|
Linux-compat clone() syscall when *not* using CLONE_THREAD. pirofti@
confirms Opera runs in compat without this, so out it goes; one less hair
to choke on in kern_exit.c
ok tedu@ pirofti@
|
|
Use intptr_t for such cases.
More casts/types should be improved in this file.
Tested with syscall regression tests from IBM.
|
|
|
|
|
|
make it a list of processes, and change P_NOZOMBIE and P_STOPPED from thread
flags to process flags. Add allprocess list for the code that just wants
to see processes.
ok tedu@
|
|
convert to ANSI protos while here
|
|
|
|
Pointed out by LLVM.
ok pirofti@
|
|
|
|
|
|
|
|
a.out removal led to linux_sys_uselib being obsoleted.
|
|
Tested with the syscall regression test suite from IBM and Opera.
Requested by deraadt@.
|
|
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.
|
|
|
|
binary to change the system time?
ok pirofti@
|
|
|
|
- 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@
|
|
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@.
|
|
|