From owner-svn-src-stable@FreeBSD.ORG Sat Apr 2 10:28:09 2011 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31CBF106566C; Sat, 2 Apr 2011 10:28:09 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 200E38FC13; Sat, 2 Apr 2011 10:28:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p32AS9Ae078629; Sat, 2 Apr 2011 10:28:09 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p32AS8c2078623; Sat, 2 Apr 2011 10:28:08 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201104021028.p32AS8c2078623@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 2 Apr 2011 10:28:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r220276 - in stable/7/usr.bin: kdump ktrace X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Apr 2011 10:28:09 -0000 Author: dchagin Date: Sat Apr 2 10:28:08 2011 New Revision: 220276 URL: http://svn.freebsd.org/changeset/base/220276 Log: Revert r220268, SV_ABI patches was never merged to 7. Deleted: stable/7/usr.bin/kdump/linux_syscalls.conf Modified: stable/7/usr.bin/kdump/Makefile stable/7/usr.bin/kdump/kdump.1 stable/7/usr.bin/kdump/kdump.c stable/7/usr.bin/ktrace/ktrace.c stable/7/usr.bin/ktrace/ktrace.h Modified: stable/7/usr.bin/kdump/Makefile ============================================================================== --- stable/7/usr.bin/kdump/Makefile Sat Apr 2 09:46:09 2011 (r220275) +++ stable/7/usr.bin/kdump/Makefile Sat Apr 2 10:28:08 2011 (r220276) @@ -1,21 +1,13 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD$ -.if (${MACHINE_ARCH} == "amd64") -SFX= 32 -.endif - .PATH: ${.CURDIR}/../ktrace PROG= kdump SRCS= kdump.c ioctl.c kdump_subr.c subr.c CFLAGS+= -I${.CURDIR}/../ktrace -I${.CURDIR} -I${.CURDIR}/../.. -.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" -SRCS+= linux_syscalls.c -.endif - -CLEANFILES= ioctl.c kdump_subr.c linux_syscalls.c +CLEANFILES= ioctl.c kdump_subr.c ioctl.c: mkioctls sh ${.CURDIR}/mkioctls ${DESTDIR}/usr/include > ${.TARGET} @@ -23,10 +15,4 @@ ioctl.c: mkioctls kdump_subr.c: mksubr sh ${.CURDIR}/mksubr ${DESTDIR}/usr/include > ${.TARGET} -linux_syscalls.c: - /bin/sh ${.CURDIR}/../../sys/kern/makesyscalls.sh \ - ${.CURDIR}/../../sys/${MACHINE_ARCH}/linux${SFX}/syscalls.master ${.CURDIR}/linux_syscalls.conf - echo "int nlinux_syscalls = sizeof(linux_syscallnames) / sizeof(linux_syscallnames[0]);" \ - >> linux_syscalls.c - .include Modified: stable/7/usr.bin/kdump/kdump.1 ============================================================================== --- stable/7/usr.bin/kdump/kdump.1 Sat Apr 2 09:46:09 2011 (r220275) +++ stable/7/usr.bin/kdump/kdump.1 Sat Apr 2 10:28:08 2011 (r220276) @@ -40,7 +40,7 @@ .Nd display kernel trace data .Sh SYNOPSIS .Nm -.Op Fl dEnlHRsTA +.Op Fl dEnlHRsT .Op Fl f Ar trfile .Op Fl m Ar maxdata .Op Fl p Ar pid @@ -103,8 +103,6 @@ GIDs, dates etc. symbolically instead of Suppress display of I/O data. .It Fl T Display absolute timestamps for each entry (seconds since epoch). -.It Fl A -Display description of the ABI of traced process. .It Fl t Ar trstr See the .Fl t Modified: stable/7/usr.bin/kdump/kdump.c ============================================================================== --- stable/7/usr.bin/kdump/kdump.c Sat Apr 2 09:46:09 2011 (r220275) +++ stable/7/usr.bin/kdump/kdump.c Sat Apr 2 10:28:08 2011 (r220276) @@ -59,9 +59,7 @@ extern int errno; #include #include #include -#include #include -#include #ifdef IPX #include #include @@ -85,12 +83,10 @@ extern int errno; #include "ktrace.h" #include "kdump_subr.h" -u_int abidump(struct ktr_header *); -int fetchprocinfo(struct ktr_header *, u_int *); int fread_tail(void *, int, int); void dumpheader(struct ktr_header *); -void ktrsyscall(struct ktr_syscall *, u_int); -void ktrsysret(struct ktr_sysret *, u_int); +void ktrsyscall(struct ktr_syscall *); +void ktrsysret(struct ktr_sysret *); void ktrnamei(char *, int); void hexdump(char *, int, int); void visdump(char *, int, int); @@ -105,57 +101,13 @@ void usage(void); const char *ioctlname(u_long); int timestamp, decimal, fancy = 1, suppressdata, tail, threads, maxdata, - resolv = 0, abiflag = 0; + resolv = 0; const char *tracefile = DEF_TRACEFILE; struct ktr_header ktr_header; #define TIME_FORMAT "%b %e %T %Y" #define eqs(s1, s2) (strcmp((s1), (s2)) == 0) -#define print_number(i,n,c) do { \ - if (decimal) \ - printf("%c%ld", c, (long)*i); \ - else \ - printf("%c%#lx", c, (long)*i); \ - i++; \ - n--; \ - c = ','; \ - } while (0); - -#if defined(__amd64__) || defined(__i386__) - -void linux_ktrsyscall(struct ktr_syscall *); -void linux_ktrsysret(struct ktr_sysret *); -extern char *linux_syscallnames[]; -extern int nlinux_syscalls; - -/* - * from linux.h - * Linux syscalls return negative errno's, we do positive and map them - */ -static int bsd_to_linux_errno[ELAST + 1] = { - -0, -1, -2, -3, -4, -5, -6, -7, -8, -9, - -10, -35, -12, -13, -14, -15, -16, -17, -18, -19, - -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, - -30, -31, -32, -33, -34, -11,-115,-114, -88, -89, - -90, -91, -92, -93, -94, -95, -96, -97, -98, -99, - -100,-101,-102,-103,-104,-105,-106,-107,-108,-109, - -110,-111, -40, -36,-112,-113, -39, -11, -87,-122, - -116, -66, -6, -6, -6, -6, -6, -37, -38, -9, - -6, -6, -43, -42, -75,-125, -84, -95, -16, -74, - -72, -67, -71 -}; -#endif - -struct proc_info -{ - TAILQ_ENTRY(proc_info) info; - u_int sv_flags; - pid_t pid; -}; - -TAILQ_HEAD(trace_procs, proc_info) trace_procs; - int main(int argc, char *argv[]) { @@ -164,15 +116,11 @@ main(int argc, char *argv[]) int trpoints = ALL_POINTS; int drop_logged; pid_t pid = 0; - u_int sv_flags; (void) setlocale(LC_CTYPE, ""); - while ((ch = getopt(argc,argv,"f:dElm:np:AHRrsTt:")) != -1) + while ((ch = getopt(argc,argv,"f:dElm:np:HRrsTt:")) != -1) switch((char)ch) { - case 'A': - abiflag = 1; - break; case 'f': tracefile = optarg; break; @@ -226,7 +174,6 @@ main(int argc, char *argv[]) errx(1, "%s", strerror(ENOMEM)); if (!freopen(tracefile, "r", stdin)) err(1, "%s", tracefile); - TAILQ_INIT(&trace_procs); drop_logged = 0; while (fread_tail(&ktr_header, sizeof(struct ktr_header), 1)) { if (ktr_header.ktr_type & KTR_DROP) { @@ -259,9 +206,6 @@ main(int argc, char *argv[]) } if (ktrlen && fread_tail(m, ktrlen, 1) == 0) errx(1, "data too short"); - if (fetchprocinfo(&ktr_header, (u_int *)m) != 0) - continue; - sv_flags = abidump(&ktr_header); if (pid && ktr_header.ktr_pid != pid) continue; if ((trpoints & (1<ktr_type) { - case KTR_PROCCTOR: - TAILQ_FOREACH(pi, &trace_procs, info) { - if (pi->pid == kth->ktr_pid) { - TAILQ_REMOVE(&trace_procs, pi, info); - break; - } - } - pi = malloc(sizeof(struct proc_info)); - if (pi == NULL) - errx(1, "%s", strerror(ENOMEM)); - pi->sv_flags = *flags; - pi->pid = kth->ktr_pid; - TAILQ_INSERT_TAIL(&trace_procs, pi, info); - return (1); - - case KTR_PROCDTOR: - TAILQ_FOREACH(pi, &trace_procs, info) { - if (pi->pid == kth->ktr_pid) { - TAILQ_REMOVE(&trace_procs, pi, info); - free(pi); - break; - } - } - return (1); - } - - return (0); -} - -u_int -abidump(struct ktr_header *kth) -{ - struct proc_info *pi; - const char *abi; - const char *arch; - u_int flags = 0; - - TAILQ_FOREACH(pi, &trace_procs, info) { - if (pi->pid == kth->ktr_pid) { - flags = pi->sv_flags; - break; - } - } - - if (abiflag == 0) - return (flags); - - switch (flags & SV_ABI_MASK) { - case SV_ABI_LINUX: - abi = "L"; - break; - case SV_ABI_FREEBSD: - abi = "F"; - break; - default: - abi = "U"; - break; - } - - if (flags != 0) { - if (flags & SV_LP64) - arch = "64"; - else - arch = "32"; - } else - arch = "00"; - - printf("%s%s ", abi, arch); - - return (flags); -} - void dumpheader(struct ktr_header *kth) { @@ -438,10 +294,6 @@ dumpheader(struct ktr_header *kth) case KTR_SYSCTL: type = "SCTL"; break; - case KTR_PROCCTOR: - /* FALLTHROUGH */ - case KTR_PROCDTOR: - return; default: (void)sprintf(unknown, "UNKNOWN(%d)", kth->ktr_type); type = unknown; @@ -486,21 +338,30 @@ dumpheader(struct ktr_header *kth) int nsyscalls = sizeof (syscallnames) / sizeof (syscallnames[0]); void -ktrsyscall(struct ktr_syscall *ktr, u_int flags) +ktrsyscall(struct ktr_syscall *ktr) { int narg = ktr->ktr_narg; register_t *ip; - if ((flags != 0 && ((flags & SV_ABI_MASK) != SV_ABI_FREEBSD)) || - (ktr->ktr_code >= nsyscalls || ktr->ktr_code < 0)) + if (ktr->ktr_code >= nsyscalls || ktr->ktr_code < 0) (void)printf("[%d]", ktr->ktr_code); else (void)printf("%s", syscallnames[ktr->ktr_code]); ip = &ktr->ktr_args[0]; if (narg) { char c = '('; - if (fancy && - (flags == 0 || (flags & SV_ABI_MASK) == SV_ABI_FREEBSD)) { + if (fancy) { + +#define print_number(i,n,c) do { \ + if (decimal) \ + (void)printf("%c%ld", c, (long)*i); \ + else \ + (void)printf("%c%#lx", c, (long)*i); \ + i++; \ + n--; \ + c = ','; \ + } while (0); + if (ktr->ktr_code == SYS_ioctl) { const char *cp; print_number(ip,narg,c); @@ -953,14 +814,13 @@ ktrsyscall(struct ktr_syscall *ktr, u_in } void -ktrsysret(struct ktr_sysret *ktr, u_int flags) +ktrsysret(struct ktr_sysret *ktr) { register_t ret = ktr->ktr_retval; int error = ktr->ktr_error; int code = ktr->ktr_code; - if ((flags != 0 && ((flags & SV_ABI_MASK) != SV_ABI_FREEBSD)) || - (code >= nsyscalls || code < 0)) + if (code >= nsyscalls || code < 0) (void)printf("[%d] ", code); else (void)printf("%s ", syscallnames[code]); @@ -1508,71 +1368,10 @@ invalid: printf("invalid record\n"); } -#if defined(__amd64__) || defined(__i386__) -void -linux_ktrsyscall(struct ktr_syscall *ktr) -{ - int narg = ktr->ktr_narg; - register_t *ip; - - if (ktr->ktr_code >= nlinux_syscalls || ktr->ktr_code < 0) - printf("[%d]", ktr->ktr_code); - else - printf("%s", linux_syscallnames[ktr->ktr_code]); - ip = &ktr->ktr_args[0]; - if (narg) { - char c = '('; - while (narg > 0) - print_number(ip, narg, c); - putchar(')'); - } - putchar('\n'); -} - -void -linux_ktrsysret(struct ktr_sysret *ktr) -{ - register_t ret = ktr->ktr_retval; - int error = ktr->ktr_error; - int code = ktr->ktr_code; - - if (code >= nlinux_syscalls || code < 0) - printf("[%d] ", code); - else - printf("%s ", linux_syscallnames[code]); - - if (error == 0) { - if (fancy) { - printf("%ld", (long)ret); - if (ret < 0 || ret > 9) - printf("/%#lx", (long)ret); - } else { - if (decimal) - printf("%ld", (long)ret); - else - printf("%#lx", (long)ret); - } - } else if (error == ERESTART) - printf("RESTART"); - else if (error == EJUSTRETURN) - printf("JUSTRETURN"); - else { - if (ktr->ktr_error <= ELAST + 1) - error = abs(bsd_to_linux_errno[ktr->ktr_error]); - else - error = 999; - printf("-1 errno %d", error); - if (fancy) - printf(" %s", strerror(ktr->ktr_error)); - } - putchar('\n'); -} -#endif - void usage(void) { - fprintf(stderr, "usage: kdump [-dEnlHRrsTA] [-f trfile] " + fprintf(stderr, "usage: kdump [-dEnlHRrsT] [-f trfile] " "[-m maxdata] [-p pid] [-t trstr]\n"); exit(1); } Modified: stable/7/usr.bin/ktrace/ktrace.c ============================================================================== --- stable/7/usr.bin/ktrace/ktrace.c Sat Apr 2 09:46:09 2011 (r220275) +++ stable/7/usr.bin/ktrace/ktrace.c Sat Apr 2 10:28:08 2011 (r220276) @@ -163,8 +163,6 @@ main(int argc, char *argv[]) (void)umask(omask); (void)close(fd); - trpoints |= PROC_ABI_POINTS; - if (*argv) { if (ktrace(tracefile, ops, trpoints, getpid()) < 0) err(1, "%s", tracefile); Modified: stable/7/usr.bin/ktrace/ktrace.h ============================================================================== --- stable/7/usr.bin/ktrace/ktrace.h Sat Apr 2 09:46:09 2011 (r220275) +++ stable/7/usr.bin/ktrace/ktrace.h Sat Apr 2 10:28:08 2011 (r220276) @@ -38,9 +38,7 @@ KTRFAC_GENIO | KTRFAC_PSIG | KTRFAC_USER | \ KTRFAC_STRUCT | KTRFAC_SYSCTL) -#define PROC_ABI_POINTS (KTRFAC_PROCCTOR | KTRFAC_PROCDTOR) - -#define ALL_POINTS (DEF_POINTS | KTRFAC_CSW | PROC_ABI_POINTS) +#define ALL_POINTS (DEF_POINTS | KTRFAC_CSW) #define DEF_TRACEFILE "ktrace.out"