X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/585ac3db0663f474fd3417ea91953b58022cc9d9..refs/pull/482/head:/machdep.c?ds=sidebyside diff --git a/machdep.c b/machdep.c index 3b8c9664..1f086161 100644 --- a/machdep.c +++ b/machdep.c @@ -29,7 +29,7 @@ * 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 +#include #ifndef HAVE___ATTRIBUTE__ #define __attribute__(x) @@ -50,6 +50,15 @@ int snprintf(char *, size_t, const char *, ...) #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_) {