Message-ID: <email address hidden> Date: Wed, 27 Jul 2005 15:53:30 +1000 From: Brendan O'Dea <email address hidden> To: Debian Bug Tracking System <email address hidden> Subject: [PATCH] traceroute bus error on sparc
Package: traceroute Version: 1.4a12-19
$ traceroute www.debian.org traceroute to www.debian.org (194.109.137.218), 30 hops max, 38 byte packets Bus error
The fault occurs in send_probe, at:
memcpy(&outdata->tv, tp, sizeof(outdata->tv));
seems to be an alignment problem; removing __attribute__((packed)) from the tv element of outdata fixes the problem.
--bod
diff -Naur traceroute-1.4a12.debian/traceroute.c traceroute-1.4a12/traceroute.c --- traceroute-1.4a12.debian/traceroute.c 2005-07-27 15:49:41.000000000 +1000 +++ traceroute-1.4a12/traceroute.c 2005-07-27 15:50:28.000000000 +1000 @@ -271,7 +271,7 @@ struct outdata { u_char seq; /* sequence number of this packet */ u_char ttl; /* ttl packet left with */ - struct timeval tv __attribute__((packed)); /* time packet left */ + struct timeval tv; /* time packet left */ };
#ifndef HAVE_ICMP_NEXTMTU
Message-ID: <email address hidden>
Date: Wed, 27 Jul 2005 15:53:30 +1000
From: Brendan O'Dea <email address hidden>
To: Debian Bug Tracking System <email address hidden>
Subject: [PATCH] traceroute bus error on sparc
Package: traceroute
Version: 1.4a12-19
$ traceroute www.debian.org
traceroute to www.debian.org (194.109.137.218), 30 hops max, 38 byte packets
Bus error
The fault occurs in send_probe, at:
memcpy( &outdata- >tv, tp, sizeof( outdata- >tv));
seems to be an alignment problem; removing __attribute_ _((packed) ) from
the tv element of outdata fixes the problem.
--bod
diff -Naur traceroute- 1.4a12. debian/ traceroute. c traceroute- 1.4a12/ traceroute. c 1.4a12. debian/ traceroute. c 2005-07-27 15:49:41.000000000 +1000 1.4a12/ traceroute. c 2005-07-27 15:50:28.000000000 +1000 _((packed) ); /* time packet left */
--- traceroute-
+++ traceroute-
@@ -271,7 +271,7 @@
struct outdata {
u_char seq; /* sequence number of this packet */
u_char ttl; /* ttl packet left with */
- struct timeval tv __attribute_
+ struct timeval tv; /* time packet left */
};
#ifndef HAVE_ICMP_NEXTMTU