head 1.3; access; symbols pkgsrc-2026Q1:1.3.0.152 pkgsrc-2026Q1-base:1.3 pkgsrc-2025Q4:1.3.0.150 pkgsrc-2025Q4-base:1.3 pkgsrc-2025Q3:1.3.0.148 pkgsrc-2025Q3-base:1.3 pkgsrc-2025Q2:1.3.0.146 pkgsrc-2025Q2-base:1.3 pkgsrc-2025Q1:1.3.0.144 pkgsrc-2025Q1-base:1.3 pkgsrc-2024Q4:1.3.0.142 pkgsrc-2024Q4-base:1.3 pkgsrc-2024Q3:1.3.0.140 pkgsrc-2024Q3-base:1.3 pkgsrc-2024Q2:1.3.0.138 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.3.0.136 pkgsrc-2024Q1-base:1.3 pkgsrc-2023Q4:1.3.0.134 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.132 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.130 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.128 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.126 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.124 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.122 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.120 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.118 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.116 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.114 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.112 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.110 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.108 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.104 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.84 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.106 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.102 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.100 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.98 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.96 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.94 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.92 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.90 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.88 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.3.0.86 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.82 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.80 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.3.0.78 pkgsrc-2016Q4-base:1.3 pkgsrc-2016Q3:1.3.0.76 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.3.0.74 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.72 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.3.0.70 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.68 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.66 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.64 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.62 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.60 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.58 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.56 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.54 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.52 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.50 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.48 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.3.0.46 pkgsrc-2012Q4-base:1.3 pkgsrc-2012Q3:1.3.0.44 pkgsrc-2012Q3-base:1.3 pkgsrc-2012Q2:1.3.0.42 pkgsrc-2012Q2-base:1.3 pkgsrc-2012Q1:1.3.0.40 pkgsrc-2012Q1-base:1.3 pkgsrc-2011Q4:1.3.0.38 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q3:1.3.0.36 pkgsrc-2011Q3-base:1.3 pkgsrc-2011Q2:1.3.0.34 pkgsrc-2011Q2-base:1.3 pkgsrc-2011Q1:1.3.0.32 pkgsrc-2011Q1-base:1.3 pkgsrc-2010Q4:1.3.0.30 pkgsrc-2010Q4-base:1.3 pkgsrc-2010Q3:1.3.0.28 pkgsrc-2010Q3-base:1.3 pkgsrc-2010Q2:1.3.0.26 pkgsrc-2010Q2-base:1.3 pkgsrc-2010Q1:1.3.0.24 pkgsrc-2010Q1-base:1.3 pkgsrc-2009Q4:1.3.0.22 pkgsrc-2009Q4-base:1.3 pkgsrc-2009Q3:1.3.0.20 pkgsrc-2009Q3-base:1.3 pkgsrc-2009Q2:1.3.0.18 pkgsrc-2009Q2-base:1.3 pkgsrc-2009Q1:1.3.0.16 pkgsrc-2009Q1-base:1.3 pkgsrc-2008Q4:1.3.0.14 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.12 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.10 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.8 pkgsrc-2008Q2-base:1.3 cwrapper:1.3.0.6 pkgsrc-2008Q1:1.3.0.4 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.2 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.2.0.4 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.2 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.1.0.10 pkgsrc-2007Q1-base:1.1 pkgsrc-2006Q4:1.1.0.8 pkgsrc-2006Q4-base:1.1 pkgsrc-2006Q3:1.1.0.6 pkgsrc-2006Q3-base:1.1 pkgsrc-2006Q2:1.1.0.4 pkgsrc-2006Q2-base:1.1 pkgsrc-2006Q1:1.1.0.2 pkgsrc-2006Q1-base:1.1; locks; strict; comment @# @; 1.3 date 2007.12.05.16.31.00; author christos; state Exp; branches; next 1.2; 1.2 date 2007.04.27.19.45.01; author christos; state Exp; branches; next 1.1; 1.1 date 2006.03.05.08.17.49; author christos; state Exp; branches; next ; desc @@ 1.3 log @Use newer strace 4.5.15; various improvements in syscall parsing and split functions into more files. @ text @$NetBSD$ --- file.c.orig 2007-01-15 15:25:52.000000000 -0500 +++ file.c 2007-12-05 11:22:56.000000000 -0500 @@@@ -1,5 +1,4 @@@@ /* -#ifdef LINUX * Copyright (c) 1991, 1992 Paul Kranenburg * Copyright (c) 1993 Branko Lankester * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey @@@@ -44,6 +43,13 @@@@ #else #define kernel_dirent dirent #endif +#ifdef NETBSD +#include +#define statfs statvfs +#define __val __fsid_val +#define f_fsid f_fsidx +#endif + #ifdef LINUX # ifdef LINUXSPARC @@@@ -162,7 +168,7 @@@@ #define XATTR_REPLACE 2 #endif -#ifdef FREEBSD +#ifdef ALLBSD #include #include #include @@@@ -831,16 +837,20 @@@@ #endif /* LINUXSPARC */ static const struct xlat fileflags[] = { -#ifdef FREEBSD +#ifdef ALLBSD { UF_NODUMP, "UF_NODUMP" }, { UF_IMMUTABLE, "UF_IMMUTABLE" }, { UF_APPEND, "UF_APPEND" }, { UF_OPAQUE, "UF_OPAQUE" }, +#ifdef UF_NOUNLINK { UF_NOUNLINK, "UF_NOUNLINK" }, +#endif { SF_ARCHIVED, "SF_ARCHIVED" }, { SF_IMMUTABLE, "SF_IMMUTABLE" }, { SF_APPEND, "SF_APPEND" }, +#ifdef SF_NOUNLINK { SF_NOUNLINK, "SF_NOUNLINK" }, +#endif #elif UNIXWARE >= 2 #ifdef _S_ISMLD { _S_ISMLD, "_S_ISMLD" }, @@@@ -852,7 +862,7 @@@@ { 0, NULL }, }; -#ifdef FREEBSD +#ifdef ALLBSD int sys_chflags(tcp) struct tcb *tcp; @@@@ -1058,7 +1068,7 @@@@ #endif /* !HAVE_STRUCT_STAT_ST_RDEV */ break; default: - tprintf("st_size=%llu, ", statbuf.st_size); + tprintf("st_size=%llu, ", (unsigned long long)statbuf.st_size); break; } if (!abbrev(tcp)) { @@@@ -1546,6 +1556,7 @@@@ #endif /* LINUX */ #ifndef SVR4 +#ifndef NETBSD static const char * sprintfstype(magic) @@@@ -1564,6 +1575,7 @@@@ sprintf(buf, "%#x", magic); return buf; } +#endif static void printstatfs(tcp, addr) @@@@ -1591,7 +1603,11 @@@@ statbuf.f_namelen); #else /* !ALPHA */ tprintf("{f_type=%s, f_bsize=%lu, f_blocks=%lu, f_bfree=%lu, ", +#ifndef NETBSD sprintfstype(statbuf.f_type), +#else + statbuf.f_fstypename, +#endif (unsigned long)statbuf.f_bsize, (unsigned long)statbuf.f_blocks, (unsigned long)statbuf.f_bfree); @@@@ -1846,7 +1862,7 @@@@ return 0; } -#if defined(SUNOS4) || defined(SVR4) +#if defined(SUNOS4) || defined(SVR4) || defined(NETBSD) int sys_fchroot(tcp) struct tcb *tcp; @@@@ -1856,7 +1872,7 @@@@ } return 0; } -#endif /* SUNOS4 || SVR4 */ +#endif /* SUNOS4 || SVR4 || NETBSD */ int sys_link(tcp) @@@@ -2188,7 +2204,7 @@@@ } #endif -#ifdef FREEBSD +#ifdef ALLBSD int sys_mkfifo(tcp) struct tcb *tcp; @@@@ -2199,7 +2215,7 @@@@ } return 0; } -#endif /* FREEBSD */ +#endif /* ALLBSD */ int sys_fsync(tcp) @@@@ -2254,7 +2270,7 @@@@ #endif /* LINUX */ -#if defined FREEBSD || defined LINUX +#if defined ALLBSD || defined LINUX static const struct xlat direnttypes[] = { { DT_UNKNOWN, "DT_UNKNOWN" }, { DT_FIFO, "DT_FIFO" }, @@@@ -2327,15 +2343,16 @@@@ d->d_namlen, d->d_namlen, d->d_name); } #endif /* SUNOS4 */ -#ifdef FREEBSD +#ifdef ALLBSD if (!abbrev(tcp)) { - tprintf("%s{d_fileno=%u, d_reclen=%u, d_type=", - i ? " " : "", d->d_fileno, d->d_reclen); + tprintf("%s{d_fileno=%llu, d_reclen=%u, d_type=", + i ? " " : "", (unsigned long long)d->d_fileno, + d->d_reclen); printxval(direnttypes, d->d_type, "DT_???"); tprintf(", d_namlen=%u, d_name=\"%.*s\"}", d->d_namlen, d->d_namlen, d->d_name); } -#endif /* FREEBSD */ +#endif /* ALLBSD */ if (!d->d_reclen) { tprintf("/* d_reclen == 0, problem here */"); break; @@@@ -2421,7 +2438,7 @@@@ } #endif -#ifdef FREEBSD +#ifdef ALLBSD int sys_getdirentries(tcp) struct tcb * tcp; @@@@ -2454,8 +2471,9 @@@@ for (i = 0; i < len;) { struct kernel_dirent *d = (struct kernel_dirent *) &buf[i]; if (!abbrev(tcp)) { - tprintf("%s{d_fileno=%u, d_reclen=%u, d_type=", - i ? " " : "", d->d_fileno, d->d_reclen); + tprintf("%s{d_fileno=%llu, d_reclen=%u, d_type=", + i ? " " : "", (unsigned long long)d->d_fileno, + d->d_reclen); printxval(direnttypes, d->d_type, "DT_???"); tprintf(", d_namlen=%u, d_name=\"%.*s\"}", d->d_namlen, d->d_namlen, d->d_name); @@@@ -2493,7 +2511,7 @@@@ } #endif /* LINUX */ -#ifdef FREEBSD +#ifdef ALLBSD int sys___getcwd(tcp) struct tcb *tcp; @ 1.2 log @- make this work again on NetBSD/i386 - make this compile on NetBSD/x86_64 [does not work yet] - completely automate the NetBSD header generation. This should make porting to other platforms easier. @ text @d3 2 a4 2 --- file.c.orig 2005-06-08 16:45:28.000000000 -0400 +++ file.c 2007-04-27 14:57:58.000000000 -0400 d34 1 a34 1 @@@@ -754,16 +760,20 @@@@ d56 1 a56 1 @@@@ -775,7 +785,7 @@@@ d65 1 a65 1 @@@@ -981,7 +991,7 @@@@ d74 1 a74 1 @@@@ -1440,6 +1450,7 @@@@ d82 1 a82 1 @@@@ -1458,6 +1469,7 @@@@ d90 1 a90 1 @@@@ -1485,7 +1497,11 @@@@ d102 37 a138 1 @@@@ -1986,7 +2002,7 @@@@ d147 1 a147 1 @@@@ -2059,15 +2075,16 @@@@ d168 1 a168 1 @@@@ -2153,7 +2170,7 @@@@ d177 1 a177 1 @@@@ -2186,8 +2203,9 @@@@ d189 1 a189 1 @@@@ -2225,7 +2243,7 @@@@ @ 1.1 log @add strace. This only works for NetBSD/i386 thus far. @ text @d3 19 a21 4 --- process.c 2005-08-03 07:23:43.000000000 -0400 +++ process.c 2006-03-05 01:59:55.000000000 -0500 @@@@ -40,6 +40,7 @@@@ #include "defs.h" d23 10 a32 2 #include +#include d34 2 a35 5 #include #include @@@@ -52,7 +53,7 @@@@ #include #endif /* SUNOS4 */ d37 1 d40 19 a58 24 #include #endif @@@@ -1042,7 +1043,7 @@@@ #endif /* !USE_PROCFS */ -#if defined(SUNOS4) || defined(LINUX) || defined(FREEBSD) +#if defined(SUNOS4) || defined(LINUX) || defined(ALLBSD) int sys_vfork(tcp) @@@@ -1053,7 +1054,7 @@@@ return 0; } -#endif /* SUNOS4 || LINUX || FREEBSD */ +#endif /* SUNOS4 || LINUX || ALLBSD */ #ifndef LINUX @@@@ -2035,7 +2036,7 @@@@ #endif /* SVR4 */ d63 1 a63 1 sys_wait(tcp) d65 12 a76 1 @@@@ -2189,7 +2190,7 @@@@ d78 1 d80 6 a85 21 static const struct xlat ptrace_cmds[] = { -#ifndef FREEBSD +#ifndef ALLBSD { PTRACE_TRACEME, "PTRACE_TRACEME" }, { PTRACE_PEEKTEXT, "PTRACE_PEEKTEXT", }, { PTRACE_PEEKDATA, "PTRACE_PEEKDATA", }, @@@@ -2255,7 +2256,7 @@@@ #endif /* !I386 */ { PTRACE_GETUCODE, "PTRACE_GETUCODE" }, #endif /* SUNOS4 */ -#else /* FREEBSD */ +#else /* ALLBSD */ { PT_TRACE_ME, "PT_TRACE_ME" }, { PT_READ_I, "PT_READ_I" }, { PT_READ_D, "PT_READ_D" }, @@@@ -2273,13 +2274,17 @@@@ { PT_SETREGS, "PT_SETREGS" }, { PT_GETFPREGS, "PT_GETFPREGS" }, { PT_SETFPREGS, "PT_SETFPREGS" }, +#ifdef PT_GETDBREGS { PT_GETDBREGS, "PT_GETDBREGS" }, a86 7 +#ifdef PT_SETDBREGS { PT_SETDBREGS, "PT_SETDBREGS" }, -#endif /* FREEBSD */ +#endif +#endif /* ALLBSD */ { 0, NULL }, }; d88 6 a93 9 -#ifndef FREEBSD +#ifndef ALLBSD #ifndef SUNOS4_KERNEL_ARCH_KLUDGE static #endif /* !SUNOS4_KERNEL_ARCH_KLUDGE */ @@@@ -2966,12 +2971,14 @@@@ sys_ptrace(tcp) struct tcb *tcp; { d95 3 a97 1 const struct xlat *x; d99 14 a112 19 long addr; if (entering(tcp)) { printxval(ptrace_cmds, tcp->u_arg[0], -#ifndef FREEBSD +#ifndef ALLBSD "PTRACE_???" #else "PT_???" @@@@ -2979,7 +2986,7 @@@@ ); tprintf(", %lu, ", tcp->u_arg[1]); addr = tcp->u_arg[2]; -#ifndef FREEBSD +#ifndef ALLBSD if (tcp->u_arg[0] == PTRACE_PEEKUSER || tcp->u_arg[0] == PTRACE_POKEUSER) { for (x = struct_user_offsets; x->str; x++) { @@@@ -3041,10 +3048,10 @@@@ a113 1 } d117 10 a126 2 tprintf("%lu", tcp->u_arg[3]); } d129 4 a132 1 return 0; d134 1 d136 26 @