Home | History | Annotate | Download | only in kdump
History log of /src/usr.bin/kdump/setemul.c
RevisionDateAuthorComments
 1.32  25-Mar-2019  maxv Remove compat_osf1, discussed on tech-kern@.
 1.31  29-Dec-2018  martin ibcs2 is gone
 1.30  19-Dec-2018  martin compat/svr4* is gone - adapt
 1.29  26-Apr-2011  joerg branches: 1.29.42; 1.29.44;
Remove PECOFF/Win32 emulation.
 1.28  26-Apr-2011  joerg Remove IRIX emulation
 1.27  26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.26  28-Apr-2008  martin branches: 1.26.8;
Remove clause 3 and 4 from TNF licenses
 1.25  31-Dec-2007  ad branches: 1.25.4;
COMPAT_HPUX is gone
 1.24  07-Nov-2007  dsl Verify that the system call is within the negative range before
deciding that it is a 'mach' system call.
XXX - shouldn't this translation only happen for certain emulations?
 1.23  07-Feb-2007  njoly branches: 1.23.4;
compat linux32 depends on compat netbsd32, and thus needs
EMUL_FLAG_NETBSD32.

ok by manu
 1.22  04-May-2006  christos Handle aout m68k; from Izumi Tsutsui.
 1.21  09-Feb-2006  manu Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so
that the i386 license manager part of amd64 version of Fluent works.

While I'm here, add SysV IPC to COMPAT_LINUX/amd64
 1.20  15-Jan-2005  jdolecek ectx_find() failed to lookup the emulation context unless it happened
to be the first entry, effectively resetting context of all processes to
default emulation on every EMUL trace record

rewrite ectx_find() to fix this, using <sys/queue.h> LIST for readability

this fix should once and for all remove need to ever use -e option,
and makes kdump work properly for traces with processes under different
emulations
 1.19  12-Jan-2004  mrg - add a new flags field to the emulation vector, with one user so far
EMUL_FLAG_NETBSD32. set EMUL_FLAG_NETBSD32 in any 32 bit on 64 bit
kernel emulation layers.
- if EMUL_FLAG_NETBSD32 is set, calculate the proper argument count.
(XXX: this should use register32_t, but that's not visible to all
builders of kdump...)

now netbsd32_ioctl(2) actually reports sane values, and other arguments
are mostly correctly printed (there are still some signed extension
issues with 32 bit numbers being displayed as "0xffffffff8xxxxxxx".)
 1.18  18-Nov-2003  dsl Stop core dump if an ioctl trace has fewer than expected arguments.
- Check names of system calls (for special treatment) because emulations
might use different numbers.
- Report an error if arguments to -p or -m non-numeric.
- Just take last of -x and -Xvalue, stop -X0x80000000 being valid (core dumps).
- Keep 'last used' emulation_ctx at top of list, create on lookup (usually
EMUL anyway), delete when exit called (doesn't return).
- Slightly improve hack to get correct system call name in execve return
when emulation has changed.
- Rename global variables 'current'/'previous' to 'cur_emul'/'prev_emul'.
(TODO: save system call type (and maybe an argument) per pid so GIO trace
format can depend on the actual system call.)
Fixes part of PR sparc64/23473 - but system call arguments will still not be
displayed correctly.
 1.17  15-Nov-2003  manu kdump now displays Mach services names itself, including a table of
id/names in sys/compat/mach/mach_services_names.c

Remove ports and flags displays, the information is already in the message.
 1.16  19-Oct-2003  christos KNF:
- ansify
- no breaks after returns
- statics where needed
- no exit after errx
 1.15  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.14  15-Nov-2002  manu Now properly display Mach traps
 1.13  29-Oct-2002  manu Added support for COMPAT_MACH
 1.12  31-Mar-2002  christos Provide hooks for signal number to name translation, and use them for kill
and PSIG.

XXX[1]: This shows that signal emulation ktrace is slightly busted: posted
signals should really be translated to the emulated ones instead of
producing ktrace records with the signal numbers of the native
emulation.
XXX[2]: There are other places where signal names can be displayed, but this
is not done yet.
 1.11  07-Jan-2002  manu reflect iric o32/n32 emulations
 1.10  02-Dec-2001  manu Now use IRIX errno translation instead of SVR4 errno translation
 1.9  28-Nov-2001  manu Added support for IRIX emulation
 1.8  11-Mar-2001  eeh Add svr4_32 info.
 1.7  16-Feb-2001  manu Cosmetic fix so that RET record after CALL execve get the appropriate syscall
even if the emulation changed
 1.6  02-Feb-2001  mrg teach kdump about compat/sunos32
 1.5  13-Nov-2000  jdolecek adapt to *syscallnames[] change (it's now const char * const foo[]),
constify
 1.4  20-Jul-2000  jdolecek ectx_sanify(): ditch utterly broken 'optimization', which caused incorrect
emulation structures to be used in every even case if default emulation
and emulation of process differed.

Bug found by Bill Studenmund.
 1.3  13-Jun-2000  itohy branches: 1.3.2;
Add "pecoff" emulation.
 1.2  10-Apr-2000  jdolecek branches: 1.2.2;
ectx_sanify(): if default_emul is not set, use netbsd emulation (may happen when user passes invalid
emulation name via -e argument)
 1.1  10-Apr-2000  jdolecek put setemul(), ectx_* & appropriate structures to separate file, to make it
more easily sharable with ktruss(1)
 1.2.2.1  23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.2.1  20-Jul-2000  jdolecek update from trunk, rev 1.4 (approved by thorpej):
ectx_sanify(): ditch utterly broken 'optimization', which caused incorrect
emulation structures to be used in every even case if default emulation
and emulation of process differed.

Bug found by Bill Studenmund.
 1.23.4.1  09-Jan-2008  matt sync with HEAD
 1.25.4.1  18-May-2008  yamt sync with head.
 1.26.8.2  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.26.8.1  28-Apr-2008  martin file setemul.c was added on branch christos-time_t on 2008-04-28 20:24:14 +0000
 1.29.44.1  10-Jun-2019  christos Sync with HEAD
 1.29.42.2  18-Jan-2019  pgoyette Synch with HEAD
 1.29.42.1  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts

RSS XML Feed