Commit Graph

271 Commits

Author SHA1 Message Date
alnsn
a739efc5b5 kern/42030 - tracking of file descriptors by ktrace/kdump 2011-06-01 21:24:59 +00:00
joerg
5e6a27ebbb Remove Mach specific trace points. 2011-04-27 00:00:46 +00:00
joerg
787e55aa29 Remove PECOFF/Win32 emulation. 2011-04-26 16:57:38 +00:00
joerg
e958063324 Remove IRIX emulation 2011-04-26 16:36:40 +00:00
joerg
5aca2679d7 Remove Darwin, MACH and Mach-O support. 2011-04-26 15:51:22 +00:00
pgoyette
f39adfe33e Fix string constant so it compiles again. 2011-04-10 16:06:59 +00:00
christos
63ab96a1bd we don't have access to si_lid anymore. 2011-04-10 14:38:19 +00:00
christos
6a8b690e91 print detailed info about other SI_ codes. 2011-04-10 00:05:51 +00:00
christos
f64bac8a30 format SI_QUEUE properly. 2011-01-10 05:15:17 +00:00
chs
692e1d3085 fix emul state tracking for exit vs exit_group on linux. 2010-08-08 18:31:50 +00:00
mrg
4e60bef737 convert -idirafter to -isystem, as recommended by cgd in PR 11843.
most of the list in that PR were already done.
2010-03-22 01:29:29 +00:00
lukem
c1ceae17f0 Enable WARNS=4 by default for usr.bin, except for:
awk  bdes  checknr  compile_et  error  gss  hxtool  kgetcred  kinit
	klist  ldd  less  lex  locale  login  m4  man  menuc  mk_cmds
	mklocale  msgc  openssl  rpcgen  rpcinfo  sdiff  spell  ssh
	string2key  telnet  tn3270  verify_krb5_conf  xlint
2009-04-14 22:15:16 +00:00
christos
1841106bd7 Allow kdump to be used as an ioctl decoder if invoked as ioctlname. 2009-04-13 14:39:23 +00:00
lukem
e72a1356ea fix sign-compare issues 2009-04-12 11:23:12 +00:00
christos
379d921ced resolve conflict. 2009-01-11 03:05:41 +00:00
christos
50728e7823 merge christos-time_t 2009-01-11 02:57:17 +00:00
njoly
dc163d1a0e Add minimal SI_LWP support. 2009-01-02 13:57:23 +00:00
apb
89799ead73 Pass SED=${TOOL_SED:Q} in the environment to scripts run during the build. 2008-10-25 22:23:55 +00:00
apb
125b7c8cbb In shell scripts run during the build, add a SED variable, defaulting
to "sed".  SED=${TOOL_SED:Q} should be passed in the environment to
override this.
2008-10-25 22:18:15 +00:00
apb
cd5c0f944d In shell scripts invoked during a build, and in crunchgen, use ${AWK}
instead of plain "awk".  The Makefiles that invoke these scripts
or programs will pass AWK=${HOST_AWK:Q}.
2008-10-19 22:10:04 +00:00
apb
f3f295c281 Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
2008-10-19 22:05:23 +00:00
christos
dcfa7f5149 handle SI_NOINFO 2008-09-12 20:46:42 +00:00
christos
a5ae52b986 When returning an unknown code, return the code number not NULL 2008-09-12 20:44:40 +00:00
lukem
98e5374ccb Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.
2008-07-21 14:19:20 +00:00
njoly
996306675b Output linux ptrace request name for processes under compat linux32
emulation too.
2008-06-18 23:04:52 +00:00
martin
11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
christos
e82b090f18 little cleanups. 2008-03-23 18:53:51 +00:00
joerg
e1032da53f Don't skip ioctls with a digit in the name.
Add a number of conflicting entries.
Add some entries from the IPv6 stack where the used structure is not
exported to userland.
2008-03-11 20:39:57 +00:00
njoly
2222627b2d Add a few NULL entries to linux_ptrace_ops[], to make PTRACE_SYSCALL
string appear at the expected indice 24.
2008-02-29 22:45:36 +00:00
bouyer
2720c9d6a3 Install xenio.h and xenio3.h in /usr/include/xen, for the benefit
of xentools3.

XXX ignore those in Makefile.ioctl-c, they don't compile properly outside
of the Xen context and the ioctls from xenio.h conflicts with
soundcard.h
2008-02-17 16:23:12 +00:00
matt
34d8567b7b Add ${PROG}-ioctl.c to DPSRCS 2008-02-16 07:17:58 +00:00
matt
4ac975fb16 Add siginfo.c to DPSRCS 2008-02-16 07:17:31 +00:00
dyoung
d4f4828ee0 Do not #include <sys/device.h> from userland. 2008-02-11 22:43:39 +00:00
ad
7f3f509466 COMPAT_HPUX is gone 2007-12-31 15:26:31 +00:00
perry
8b0f9554ff convert __attribute__s to applicable cdefs.h macros 2007-12-15 19:44:37 +00:00
dsl
bffcdd2c73 Apply the -N (show syscalls by number) to the system return trace.
Change 'USER' to 'MISC' since they get used for misc kernel traces as well.
2007-11-07 22:22:31 +00:00
dsl
1e4971a8ff 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?
2007-11-07 22:20:20 +00:00
agc
babe0fc9d8 Apply fix from PR 35283 from David Holland:
ensure that kdump properly escapes newlines in argv
2007-08-08 20:28:11 +00:00
dmcmahill
096f2d0ee4 Replace "awk" with "${AWK:-awk}".
Needed to be able to cross-build on systems with a feeble awk (SunOS-5.9
for example).  Example error message is:
awk: record `#define CTL_IPPROTO_...' has too many fields
 record number 404
2007-06-29 16:39:51 +00:00
dsl
5a557927e4 When displaying 'KTR_USER' data, exclude the header from the length, don't
enclose in ", and output using the hexdump function if -x (or -X) given.
2007-06-01 19:05:50 +00:00
tls
4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
dogcow
2fa8120f7e fallout from si_sigval -> si_value 2007-05-21 19:29:44 +00:00
njoly
f7ed257809 When decoding ioctl commands type; do not output non printable
characters, but the corresponding hexadecimal values.

ok by christos
2007-03-19 18:51:09 +00:00
he
b2898f296c Add two more ioctl values which are the same. 2007-03-05 17:38:25 +00:00
ad
401499f30e Sync with kernel changes introduced by merging the newlock2 branch. 2007-02-09 22:08:48 +00:00
njoly
e7544f933f compat linux32 depends on compat netbsd32, and thus needs
EMUL_FLAG_NETBSD32.

ok by manu
2007-02-07 13:58:12 +00:00
chs
aaf6e758a0 skip over the "self" sa when printing upcalls. 2007-01-28 21:29:59 +00:00
elad
4cfb3b3658 Conflict was resolved, so revert previous.
Okay dogcow@.
2006-11-30 01:59:45 +00:00
dogcow
48de5cde28 deal with VERIEXEC_LOAD/SPKRTONE conflict 2006-11-29 03:48:57 +00:00
mrg
dbdbfa2c22 since register_t is sometimes unsigned, cast to (long) to check >= 0. 2006-10-23 04:13:51 +00:00
peter
e263dfd62f WFORMAT is no more... 2006-10-08 17:52:28 +00:00
manu
8a1037a46b Add a -t+S flag to ktrace for tracing activity related to sysctl. MIB
names will be displayed, with data readen and written as well.
2006-09-23 22:01:04 +00:00
he
0b5587a884 Provide a dummy default for NBPG after including <sys/param.h> to deal
with a build problem for sparc.  The reason is that <dev/tc/sticio.h>
(yes, irrelevant for sparc...) wants NBPG declared, but for sparc user-land
that symbol is not available since sun4/sun4c/sun4m do not all share the
same page size.
2006-08-31 22:41:14 +00:00
he
276f9c838b Add one more conflicting ioctl set: CLOCKCTL_ADJTIME / TCTRL_MODEM_PWR,
(partially) fixes build problem for sparc.
2006-08-31 22:25:34 +00:00
he
061f5e8762 Add handling of two more pairs of duplicate ioctl values: amiga's
and x68k's PARIOC[SG]PARAM reuse the ioctl values from sbus/mbppio.h's
MBPPIOC[SG]PARAM.

Suggested by Christos.
2006-08-30 23:26:25 +00:00
christos
659537b3d6 Fix sparc64 build; thanks to Martin S. Weber 2006-08-29 14:53:57 +00:00
christos
4de29ae80e Include <sys/device.h> needed by iopio.h 2006-08-27 21:41:18 +00:00
christos
5699156510 pick up ioctls from other devices too. 2006-08-27 20:31:26 +00:00
christos
286191634b We don't need to define struct ap_control anymore 2006-06-03 03:15:24 +00:00
christos
7042b96381 SIOCLOOKUPSTAT is the same as SIOCPROXY. 2006-06-03 00:02:51 +00:00
christos
5e5752c8cd PR/33627: Keiichi Shima: typo in Makefile.ioctl-c in kdump directory
s/RW/WR/
2006-06-02 13:56:49 +00:00
christos
394f070a3e Handle aout m68k; from Izumi Tsutsui. 2006-05-04 18:06:29 +00:00
christos
c721423ddc Use the standard macros to compute the ioctl length instead of rolling our
own. Thanks to Chuck for noticing.
2006-04-05 00:50:59 +00:00
christos
ef5477c67d Add PT_SYSCALL 2006-03-05 17:03:19 +00:00
manu
ee0c5b44de 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
2006-02-09 19:18:56 +00:00
christos
4f17ba81bc Learn about v1 records and sa upcalls. 2005-12-11 11:31:34 +00:00
christos
64639a3896 Print symbolic signal names for killpg *sigaction* and *sigvec*. 2005-10-18 01:49:18 +00:00
christos
58fc70c4d6 WARNS=3 2005-07-16 22:00:01 +00:00
lukem
a3b235bbd2 appease gcc -Wuninitialized 2005-06-02 01:53:01 +00:00
jdolecek
04fa39a4be 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
2005-01-15 17:55:38 +00:00
dsl
5ac85b92f3 Ensure a non-zero 'word_size' is passed to hexdump_buf for unknown
trace types.
Also fix an incorrect use of the global word_size variable
2004-08-23 20:49:28 +00:00
tron
dc33169c5b Add prefix "${PROG}-" to filename of automatically created list of
ioctl names. This makes sure that each program is built with its own
copy even if object directories are not used. This avoids build
failures when two or more make jobs are used in parallel.
2004-07-10 12:12:49 +00:00
christos
750fc37531 deal with another dup ioctl; fortunately this is from pcvt and it will die. 2004-07-08 03:22:32 +00:00
tron
d12de89293 Don't scan include files in "includes" target because they might not be
in the destination directory yet.
2004-07-07 14:28:17 +00:00
christos
ab5ca5c5d6 Include ioctl's that don't have IO in their names [lkm ones eg.] 2004-06-22 17:30:52 +00:00
drochner
7723c241ec remove creation of the intermediate "sourcefile" which was for debugging 2004-05-10 20:46:44 +00:00
hannken
97b2d1519a Add "sys/dkbad.h" for DIOCSBAD from sys/dkio.h.
Use # to start comment in awk program.
2004-05-10 20:41:32 +00:00
christos
ff5de51147 Change code to use a switch statement, and add exceptions to fix the
conflicts.

XXX: Fix the conflicts.

1. chio: change to 'x' from 'c' so that it does not conflict with cdio.
   keep the 'c' ioctls in the driver for compat.
2. ppp/slip: change SLCGUNIT to some other number and accept the old number
   in the driver.
3. ipf: [3 instances] Have darren fix them.
2004-05-10 15:25:57 +00:00
jmc
7492226095 Add another exception for broken includes (showed up on acorn32 build) 2004-05-08 21:03:43 +00:00
matt
10efbfd5c3 Allow kdump to print the names for machine dependent ptrace ops.
(This requires <machine/ptrace.h> to define PT_MACHDEP_STRINGS
which corresponds to the machdep ops).
2004-05-06 22:51:38 +00:00
hannken
aa9b145692 Don't invoke the egrep for cleandir and obj targets. Needed for build.sh.
Use ".if !make()" instead of ".if !target()".
2004-04-23 12:05:53 +00:00
hannken
1466f8c9d9 Undo last commit -- doesn't work. 2004-04-23 09:50:21 +00:00
hannken
0c0fbf545a Don't invoke the egrep for cleandir and obj targets. Needed for build.sh. 2004-04-23 09:28:56 +00:00
christos
19e4b9c5ad Instead of pussy-footing around and grabbing a few of the ioctl's here and
there randomly, grab all the ioctls from the include files.
Read the XXX's in mkioctls about problems with our header files.
2004-04-22 22:31:18 +00:00
dsl
c395262f1f Suppress duplicate lines when hexdumping data 2004-03-07 17:20:53 +00:00
enami
3f98504ee8 Fix whitespace usage and remove unnecessary semi-colon. 2004-02-27 23:06:02 +00:00
enami
6a6547d143 We can't access array[sizeof(array) / sizeof(array[0])]. 2004-02-27 22:48:56 +00:00
enami
35c4c5bed3 Calculate the width again if we start newline at tab character, since
start column changes.
2004-02-27 22:44:38 +00:00
christos
301d580988 Fix reversed logic (decimal argument passed in output_long, where it expects
hex). Change tests to <= 9 to a small(v) macro, so that negative numbers fail
too consistently.
2004-02-02 06:27:56 +00:00
mrg
7ca9a9ac30 redo the former in light of making the kernel output normal 64 bit
records for 32 bit & 64 bit processes.  we still make some adjustments
when dealing with 32-bit processes, but largely things are handled the
same now.  make the code to match "netbsd32_<syscall>" in place of
plain "<syscall>" more general.
2004-01-15 14:42:09 +00:00
mrg
2ccd4840f5 - 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".)
2004-01-12 13:39:56 +00:00
manu
bb938d861a Fix cross-build problem on sparc caused by a cast size_t -> int 2003-11-24 22:12:14 +00:00
manu
23f30b17cb Enable tracing of out of line data sent with Mach messages 2003-11-24 16:53:38 +00:00
manu
32f7275395 For Mach messages, always display the message Id in decimal. The information
is indeed in the message, but in hex. It's a bit inconvenient.
2003-11-18 14:21:59 +00:00
dsl
3433691e60 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.
2003-11-18 13:21:53 +00:00
wiz
690130c2ef New sentence, new line; add comma in enumeration. 2003-11-16 23:10:00 +00:00
manu
e59cd6c2b4 Following mycroft's comment, restore -x to its original behavior: without
an argument. Introduce -Xsize to do the job. -x is equivalent to -X1
Of course -x and -Xsize are mutually exclusive.
2003-11-16 21:52:33 +00:00
dsl
826153cc5c Validate the numeric argument to -x, support -x1|2|4|8|16.
Produce sensible output on little-endian systems.
2003-11-16 14:51:26 +00:00
wiz
e0f60703ab Bump date for previous. New sentence, new line. 2003-11-16 10:16:56 +00:00