X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/facb08068a8223b743859fabc2778f1198370fd4..486704db7c840dcfb51f70f1812d9c3ad37ad39c:/machdep.c diff --git a/machdep.c b/machdep.c index d789c283..7b259ae1 100644 --- a/machdep.c +++ b/machdep.c @@ -19,11 +19,6 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#ifndef lint -static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/machdep.c,v 1.9 2002-08-06 04:40:11 guy Exp $ (LBL)"; -#endif - #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -36,24 +31,36 @@ static const char rcsid[] = */ #include +#ifndef HAVE___ATTRIBUTE__ +#define __attribute__(x) +#endif /* HAVE___ATTRIBUTE__ */ + #ifdef __osf__ #include #include #if !defined(HAVE_SNPRINTF) -#ifndef HAVE___ATTRIBUTE__ -#define __attribute__(x) -#endif /* HAVE___ATTRIBUTE__ */ - int snprintf(char *, size_t, const char *, ...) - __attribute__((format(printf, 3, 4))); +#ifdef __ATTRIBUTE___FORMAT_OK + __attribute__((format(printf, 3, 4))) +#endif /* __ATTRIBUTE___FORMAT_OK */ + ; #endif /* !defined(HAVE_SNPRINTF) */ #endif /* __osf__ */ #include "machdep.h" +/* + * On platforms where the CPU doesn't support unaligned loads, force + * unaligned accesses to abort with SIGBUS, rather than being fixed + * up (slowly) by the OS kernel; on those platforms, misaligned accesses + * are bugs, and we want tcpdump to crash so that the bugs are reported. + * + * The only OS on which this is necessary is DEC OSF/1^W^WDigital + * UNIX^W^WTru64 UNIX. + */ int -abort_on_misalignment(char *ebuf, size_t ebufsiz) +abort_on_misalignment(char *ebuf _U_, size_t ebufsiz _U_) { #ifdef __osf__ static int buf[2] = { SSIN_UACPROC, UAC_SIGBUS };