X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/bbc1cfa669a5f51ed26bae3784447076e3fbc80f..6d3b0e4599c5aa922bba42e53b038b51d9024a62:/machdep.c diff --git a/machdep.c b/machdep.c index 947e6be8..2578b73c 100644 --- a/machdep.c +++ b/machdep.c @@ -19,41 +19,30 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#ifndef lint -static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/machdep.c,v 1.12 2003-11-16 09:36:10 guy Exp $ (LBL)"; -#endif - #ifdef HAVE_CONFIG_H -#include "config.h" +#include #endif -/* - * XXX - all we need, on platforms other than DEC OSF/1 (a/k/a Digital UNIX, - * a/k/a Tru64 UNIX), is "size_t", which is a standard C type; what do we - * need to do to get it defined? This is clearly wrong, as we shouldn't - * have to include UNIX or Windows system header files to get it. - */ -#include - -#ifndef HAVE___ATTRIBUTE__ -#define __attribute__(x) -#endif /* HAVE___ATTRIBUTE__ */ - -#define _U_ __attribute__((unused)) +#include #ifdef __osf__ +#include #include #include - -#if !defined(HAVE_SNPRINTF) -int snprintf(char *, size_t, const char *, ...) - __attribute__((format(printf, 3, 4))); -#endif /* !defined(HAVE_SNPRINTF) */ #endif /* __osf__ */ +#include "varattrs.h" #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 _U_, size_t ebufsiz _U_) {