diff options
author | John Baldwin <jhb@FreeBSD.org> | 2015-12-22 20:33:49 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2015-12-22 20:33:49 +0000 |
commit | 265e58989d94820a0845000733a5908bcf0d3b00 (patch) | |
tree | 12efcb04d4bc19b74d2554032b084f8fee602ddf /usr.bin/kdump | |
parent | b63d070ad17e361cda7b769aac13ed87767f1958 (diff) | |
download | src-265e58989d94820a0845000733a5908bcf0d3b00.tar.gz src-265e58989d94820a0845000733a5908bcf0d3b00.zip |
Notes
Diffstat (limited to 'usr.bin/kdump')
-rw-r--r-- | usr.bin/kdump/Makefile | 14 | ||||
-rw-r--r-- | usr.bin/kdump/kdump.c | 17 | ||||
-rw-r--r-- | usr.bin/kdump/mkioctls | 118 |
3 files changed, 17 insertions, 132 deletions
diff --git a/usr.bin/kdump/Makefile b/usr.bin/kdump/Makefile index 52c0a09bcee2..f149e80fa109 100644 --- a/usr.bin/kdump/Makefile +++ b/usr.bin/kdump/Makefile @@ -6,7 +6,7 @@ .PATH: ${.CURDIR}/../ktrace PROG= kdump -SRCS= kdump_subr.c kdump_subr.h kdump.c ioctl.c subr.c +SRCS= kdump_subr.c kdump_subr.h kdump.c subr.c CFLAGS+= -I${.CURDIR}/../ktrace -I${.CURDIR} -I${.CURDIR}/../.. -I. LIBADD= sysdecode @@ -15,15 +15,9 @@ LIBADD+= capsicum CFLAGS+=-DHAVE_LIBCAPSICUM .endif -.if ${MK_PF} != "no" -CFLAGS+=-DPF -.endif - NO_WERROR?= YES -CLEANFILES= ioctl.c kdump_subr.c kdump_subr.h - -beforedepend: ioctl.c +CLEANFILES= kdump_subr.c kdump_subr.h .if (${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386") beforedepend: linux_syscalls.c @@ -44,10 +38,6 @@ linux32_syscalls.c: linux32_syscalls.conf ${.CURDIR}/../../sys/${MACHINE_ARCH}/linux32/syscalls.master ${.CURDIR}/linux32_syscalls.conf .endif -ioctl.c: mkioctls - env MACHINE=${MACHINE} CPP="${CPP}" \ - sh ${.CURDIR}/mkioctls print ${DESTDIR}${INCLUDEDIR} > ${.TARGET} - kdump_subr.h: mksubr sh ${.CURDIR}/mksubr ${DESTDIR}${INCLUDEDIR} | \ sed -n 's/^\([a-z].*)\)$$/void \1;/p' >${.TARGET} diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index 8165bc719453..7af99fb58659 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -116,7 +116,6 @@ void ktrfault(struct ktr_fault *); void ktrfaultend(struct ktr_faultend *); void limitfd(int fd); void usage(void); -void ioctlname(unsigned long, int); #define TIMESTAMP_NONE 0x0 #define TIMESTAMP_ABSOLUTE 0x1 @@ -693,6 +692,20 @@ dumpheader(struct ktr_header *kth) #undef KTRACE int nsyscalls = sizeof (syscallnames) / sizeof (syscallnames[0]); +static void +ioctlname(unsigned long val) +{ + const char *str; + + str = sysdecode_ioctlname(val); + if (str != NULL) + printf("%s", str); + else if (decimal) + printf("%lu", val); + else + printf("%#lx", val); +} + void ktrsyscall(struct ktr_syscall *ktr, u_int flags) { @@ -741,7 +754,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_int flags) case SYS_ioctl: { print_number(ip, narg, c); putchar(c); - ioctlname(*ip, decimal); + ioctlname(*ip); c = ','; ip++; narg--; diff --git a/usr.bin/kdump/mkioctls b/usr.bin/kdump/mkioctls deleted file mode 100644 index a5633418192a..000000000000 --- a/usr.bin/kdump/mkioctls +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# -# When editing this script, keep in mind that truss also uses it. -# - -set -e - -if [ $# -ne 2 -o \( $1 != "print" -a $1 != "return" \) ]; then - echo "usage: sh $0 print|return include-dir" - exit 1 -fi - -style="$1" -includedir="$2" - -LC_ALL=C; export LC_ALL - -# Build a list of headers that have ioctls in them. -# XXX should we use an ANSI cpp? -ioctl_includes=$( - cd $includedir - find -H -s * -name '*.h' | \ - egrep -v '(.*disk.*|net/pfvar|net/if_pfsync)\.h' | \ - xargs egrep -l \ -'^#[ ]*define[ ]+[A-Za-z_][A-Za-z0-9_]*[ ]+_IO[^a-z0-9_]' | - awk '{printf("#include <%s>\\n", $1)}' -) - -: ${MACHINE=$(uname -m)} -case "${MACHINE}" in -*pc98*) - ioctl_includes="$ioctl_includes#include <sys/diskpc98.h>\\n" - ;; -*) - ioctl_includes="$ioctl_includes#include <sys/diskmbr.h>\\n" - ;; -esac - -awk -v x="$ioctl_includes" 'BEGIN {print x}' | - $CPP -nostdinc -I$includedir -dM -DCOMPAT_43TTY - | - awk -v ioctl_includes="$ioctl_includes" -v style="$style" ' -BEGIN { - print "/* XXX obnoxious prerequisites. */" - print "#define COMPAT_43" - print "#define COMPAT_43TTY" - print "#include <sys/param.h>" - print "#include <sys/devicestat.h>" - print "#include <sys/disklabel.h>" - print "#include <sys/socket.h>" - print "#include <sys/time.h>" - print "#include <sys/tty.h>" - print "#include <bsm/audit.h>" - print "#include <net/ethernet.h>" - print "#include <net/if.h>" - print "#ifdef PF" - print "#include <net/pfvar.h>" - print "#include <net/if_pfsync.h>" - print "#endif" - print "#include <net/route.h>" - print "#include <netinet/in.h>" - print "#include <netinet/ip_mroute.h>" - print "#include <netinet6/in6_var.h>" - print "#include <netinet6/nd6.h>" - print "#include <netinet6/ip6_mroute.h>" - print "#include <stdio.h>" - print "#include <cam/cam.h>" - print "#include <stddef.h>" - print "#include <stdint.h>" - print "" - print ioctl_includes - print "" - if (style == "print") { - print "void ioctlname(unsigned long val, int decimal);" - print "" - print "void" - print "ioctlname(unsigned long val, int decimal)" - } else { - print "const char *ioctlname(unsigned long val);" - print "" - print "const char *" - print "ioctlname(unsigned long val)" - } - print "{" - print "\tconst char *str = NULL;" - print "" -} - -/^#[ ]*define[ ]+[A-Za-z_][A-Za-z0-9_]*[ ]+_IO/ { - - # find where the name starts - for (i = 1; i <= NF; i++) - if ($i ~ /define/) - break; - ++i; - # - printf("\t"); - if (n++ > 0) - printf("else "); - printf("if (val == %s)\n", $i); - printf("\t\tstr = \"%s\";\n", $i); -} -END { - print "" - if (style == "print") { - print "\tif (str != NULL)" - print "\t\tprintf(\"%s\", str);" - print "\telse if (decimal)" - print "\t\tprintf(\"%lu\", val);" - print "\telse" - print "\t\tprintf(\"%#lx\", val);" - } else { - print "\treturn (str);" - } - print "}" -} -' |