Home | History | Annotate | Download | only in common
History log of /src/sys/compat/linux/common/linux_machdep.h
RevisionDateAuthorComments
 1.20  23-Sep-2021  ryo add support COMPAT_LINUX for aarch64
 1.19  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.18  28-Apr-2008  martin branches: 1.18.20; 1.18.22;
Remove clause 3 and 4 from TNF licenses
 1.17  04-Dec-2007  dsl branches: 1.17.12; 1.17.14; 1.17.16;
Remove all the __P
 1.16  10-May-2007  christos branches: 1.16.6; 1.16.8; 1.16.14; 1.16.16;
- linux uname -m on x86 returns i{3,4,5,6}86 make it so.
- delete the machine sysctl that never worked, and gc linux_machine.
 1.15  23-Aug-2006  manu branches: 1.15.8; 1.15.12; 1.15.14;
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.14  11-Dec-2005  christos branches: 1.14.4; 1.14.8;
merge ktrace-lwp.
 1.13  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.12  03-May-2005  manu branches: 1.12.2;
First work on COMPAT_LINUX/amd64
Process startup and dynamiclinking work, but processes hang due to
Linux arch_prctl(2) not being really supported yet.
 1.11  26-Mar-2004  drochner all ports define __HAVE_SIGINFO now, so remove the CPP conditionals
 1.10  26-Sep-2003  simonb Fix "constify sendsig/trapsignal" fallout for non-siginfo'd archs. Test
compiled on most architectures.
 1.9  25-Sep-2003  christos constify sendsig/trapsignal
 1.8  06-Sep-2003  christos SA_SIGINFO changes
 1.7  04-Jul-2002  thorpej branches: 1.7.6;
Add kernel support for having userland provide the signal trampoline:

* struct sigacts gets a new sigact_sigdesc structure, which has the
sigaction and the trampoline/version. Version 0 means "legacy kernel
provided trampoline". Other versions are coordinated with machine-
dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions. Instead,
sendsig() looks up the handler by peeking in the sigacts for the
process getting the signal (since it has to look in there for the
trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later. Kernel
version not bumped; we will ride the 1.6C bump made recently.
 1.6  15-Feb-2002  christos branches: 1.6.8;
- 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.5  14-Jan-2002  bjh21 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.4  22-Sep-2001  manu Enable Mips Linux emulation in header files
 1.3  19-Jan-2001  manu branches: 1.3.2; 1.3.4; 1.3.6;
Added Linux compatibility support for powerpc ports
 1.2  15-Dec-1998  itohy branches: 1.2.8;
Added linux compat support on m68k ports.
 1.1  03-Oct-1998  christos Forgot those two.
 1.2.8.1  11-Feb-2001  bouyer Sync with HEAD.
 1.3.6.1  01-Oct-2001  fvdl Catch up with -current.
 1.3.4.4  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.4.3  16-Mar-2002  jdolecek Catch up with -current.
 1.3.4.2  11-Feb-2002  jdolecek Sync w/ -current.
 1.3.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.3  01-Aug-2002  nathanw Catch up to -current.
 1.3.2.2  28-Feb-2002  nathanw Catch up to -current.
 1.3.2.1  26-Sep-2001  nathanw Catch up to -current.
Again.
 1.6.8.1  15-Jul-2002  gehenna catch up with -current.
 1.7.6.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.7.6.1  03-Aug-2004  skrll Sync with HEAD
 1.12.2.4  07-Dec-2007  yamt sync with head
 1.12.2.3  03-Sep-2007  yamt sync with head.
 1.12.2.2  30-Dec-2006  yamt sync with head.
 1.12.2.1  21-Jun-2006  yamt sync with head.
 1.14.8.1  03-Sep-2006  yamt sync with head.
 1.14.4.1  09-Sep-2006  rpaulo sync with head
 1.15.14.1  11-Jul-2007  mjf Sync with head.
 1.15.12.1  27-May-2007  ad Sync with head.
 1.15.8.1  17-May-2007  yamt sync with head.
 1.16.16.1  08-Dec-2007  ad Sync with head.
 1.16.14.1  08-Dec-2007  mjf Sync with HEAD.
 1.16.8.1  09-Jan-2008  matt sync with HEAD
 1.16.6.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.17.16.2  11-Aug-2010  yamt sync with head.
 1.17.16.1  16-May-2008  yamt sync with head.
 1.17.14.1  18-May-2008  yamt sync with head.
 1.17.12.1  02-Jun-2008  mjf Sync with HEAD.
 1.18.22.1  05-Mar-2011  rmind sync with head
 1.18.20.1  17-Aug-2010  uebayasi Sync with HEAD.

RSS XML Feed