History log of /src/sys/compat/linux/common/linux_emuldata.h |
Revision | | Date | Author | Comments |
1.20 |
| 20-May-2022 |
andvar | s/auxillary/auxiliary/ in comments.
|
1.19 |
| 26-Apr-2020 |
thorpej | Add a NetBSD native futex implementation, mostly written by riastradh@. Map the COMPAT_LINUX futex calls to the native ones.
|
1.18 |
| 02-Nov-2010 |
chs | personality() now interprets its parameter as having the base personality type in the low byte and various flags in the upper bytes. for now just mask off the flags to make sure the base type is one we accept. store the current personality in the emuldata so that we can return the expected value for PER_QUERY.
|
1.17 |
| 07-Jul-2010 |
chs | many changes for COMPAT_LINUX: - update the linux syscall table for each platform. - support new-style (NPTL) linux pthreads on all platforms. clone() with CLONE_THREAD uses 1 process with many LWPs instead of separate processes. - move the contents of sys__lwp_setprivate() into a new lwp_setprivate() and use that everywhere. - update linux_release[] and linux32_release[] to "2.6.18". - adjust placement of emul fork/exec/exit hooks as needed and adjust other emul code to match. - convert all struct emul definitions to use named initializers. - change the pid allocator to allow multiple pids to refer to the same proc. - remove a few fields from struct proc that are no longer needed. - disable the non-functional "vdso" code in linux32/amd64, glibc works fine without it. - fix a race in the futex code where we could miss a wakeup after a requeue operation. - redo futex locking to be a little more efficient.
|
1.16 |
| 26-Oct-2008 |
christos | branches: 1.16.14; 1.16.16; futex support fixes from FreeBSD via cube+pengo.
|
1.15 |
| 28-Apr-2008 |
martin | branches: 1.15.6; Remove clause 3 and 4 from TNF licenses
|
1.14 |
| 04-Mar-2007 |
christos | branches: 1.14.36; 1.14.38; 1.14.40; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.13 |
| 05-Feb-2007 |
njoly | branches: 1.13.2; Add a new linux_emuldata_shared flag value LINUX_LES_USE_NPTL to allow both NPTL and old linuxthreads behaviour depending on process needs.
Apply to exit_group(), getpid() and getppid() to share them between compat linux32 (non NPTL) and compat linux (NPTL) on amd64.
ok by manu and christos
|
1.12 |
| 23-Aug-2006 |
manu | branches: 1.12.2; 1.12.6; 1) Complete Linux exit_group() emulation Members of the thread group must die without reporting to the parent and without going to zombie stage. We do that by reparenting to init before catching a SIGKILL. The parent will not see the child death.
The thread group leader must report the exit status, even if it exits because of another thread calling exit_group(). We do that by storing the exit status in struct linux_emuldata_shared, and the exit hook has the duty of setting struct proc's p_xstat for the thread group leader.
2) For exit/fork/exec hooks, move the NPTL specific code to separate functions that are shared between COMPAT_LINUX and COMPAT_LINUX32
3) Fix LINUX_CLONE_PARENT_SETTID semantics
|
1.11 |
| 25-Jun-2006 |
manu | - Complete exit_group() implementation. We now maintain a list of Linux threads in a processes and kill them properly. The code is a bit too complicated, but I could not find a simplier way of dealing with it
- Change getpid() and getppid() semantics to match what Linux does, and implement gettid(). In the Linux kernel, threads are implemnted as plain old processes. A thread group is just a set of processes, with the parent called leader. Thread ID, which are returned by gettid(), are just the PID of the plain old processes, and getpid() returns the PID of the thread group leader.
- Remove struct linux32_emuldata. COMPAT_LINUX32 uses a lot of COMPAT_LINUX code, where a struct linux_emuldata is assumed. By having distinct emuldata structure with different sizes and layouts, we caused kernel memory corruptions.
- Fix setprioriry() and getpriority()
Thanks to Nicolas Joly for tracking down the problem and providing me the hardware to fix them.
|
1.10 |
| 11-Dec-2005 |
christos | branches: 1.10.4; 1.10.8; 1.10.16; merge ktrace-lwp.
|
1.9 |
| 05-Nov-2005 |
manu | Instead of ifdef'ing __amd64__ all the Linux NPTL stuff, introduce an ifdef LINUX_NPTL. Also implement SETTLS flag to Linux clone()
|
1.8 |
| 22-Jun-2005 |
manu | branches: 1.8.2; Implent CLONE_PARENT_SETTID, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID options to clone(). This makes fork() work on amd64.
clone() prototype has changed and the changes is probably revelant on some other arches.
|
1.7 |
| 26-Feb-2005 |
perry | nuke trailing whitespace
|
1.6 |
| 08-Aug-2004 |
jdolecek | branches: 1.6.4; 1.6.6; linux processes sharing VM space (via clone() call) must also share same 'break' value used for brk()/sbrk(), otherwise application SIGSEGVs quickly once different threads try to adjust data segment size
this fixes linux Mozilla crashes with SuSE 9.1 libraries, and possibly other linux applications using real threads
|
1.5 |
| 23-Jun-2003 |
erh | branches: 1.5.2; 1.5.4; Add copyright+license.
|
1.4 |
| 15-Feb-2002 |
christos | - add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
1.3 |
| 15-Mar-2001 |
manu | branches: 1.3.2; Fixed brk() emulation. We now keep track of the processes' idea of the break value. See http://mail-index.netbsd.org/tech-kern/2001/03/15/0000.html for more details.
|
1.2 |
| 21-Nov-2000 |
jdolecek | branches: 1.2.2; comment out ps_siginfo from struct emuldata for now, add int debugreg[8] update comment a bit
|
1.1 |
| 08-Dec-1998 |
erh | branches: 1.1.10; At least make this compile. Add linux compat version of auxillary data eventually to be used to make the emulation work correctly.
|
1.1.10.2 |
| 27-Mar-2001 |
bouyer | Sync with HEAD.
|
1.1.10.1 |
| 22-Nov-2000 |
bouyer | Sync with HEAD.
|
1.2.2.2 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.2.2.1 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
1.3.2.1 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.5.4.1 |
| 15-Aug-2004 |
tron | Pull up revision 1.6 (requested by jdolecek in ticket #762): linux processes sharing VM space (via clone() call) must also share same 'break' value used for brk()/sbrk(), otherwise application SIGSEGVs quickly once different threads try to adjust data segment size this fixes linux Mozilla crashes with SuSE 9.1 libraries, and possibly other linux applications using real threads
|
1.5.2.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.5.2.4 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.5.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.5.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.5.2.1 |
| 12-Aug-2004 |
skrll | Sync with HEAD.
|
1.6.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.6.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.8.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.8.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.8.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.8.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.10.16.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.10.8.2 |
| 03-Sep-2006 |
yamt | sync with head.
|
1.10.8.1 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.10.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.12.6.1 |
| 28-Mar-2007 |
jdc | Pull up revision 1.13 (requested by njoly in ticket #523).
Add a new linux_emuldata_shared flag value LINUX_LES_USE_NPTL to allow both NPTL and old linuxthreads behaviour depending on process needs.
Apply to exit_group(), getpid() and getppid() to share them between compat linux32 (non NPTL) and compat linux (NPTL) on amd64.
ok by manu and christos
|
1.12.2.1 |
| 09-Feb-2007 |
ad | Sync with HEAD.
|
1.13.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.14.40.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.14.40.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.14.40.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.14.38.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.14.36.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.14.36.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.15.6.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.16.16.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.16.14.2 |
| 06-Nov-2010 |
uebayasi | Sync with HEAD.
|
1.16.14.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|