From c7b0738460b08e63a1bd15c88ef1f9599cd71a08 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Wed, 20 Sep 2017 01:37:35 -0700 Subject: [PATCH] Try marking structures as UNALIGNED. See if this fixes the crashes on the OpenCSW SPARC buildbots. If so, it means that the compiler may think that even structures made up of nothing but bytes (char/unsigned char) and arrays of bytes are aligned, even if there's no guarantee of that. (Bad compiler! No biscuit!) --- print-ntp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/print-ntp.c b/print-ntp.c index 63a35091..ca455b2a 100644 --- a/print-ntp.c +++ b/print-ntp.c @@ -70,12 +70,12 @@ static const char tstr[] = " [|ntp]"; struct l_fixedpt { nd_uint32_t int_part; nd_uint32_t fraction; -}; +} UNALIGNED; struct s_fixedpt { nd_uint16_t int_part; nd_uint16_t fraction; -}; +} UNALIGNED; /* rfc2030 * 1 2 3 @@ -135,7 +135,7 @@ struct ntp_time_data { struct l_fixedpt xmt_timestamp; nd_uint32_t key_id; nd_uint8_t message_digest[20]; -}; +} UNALIGNED; /* * Leap Second Codes (high order two bits) */ @@ -247,7 +247,7 @@ struct ntp_control_data { nd_uint16_t offset; /* Offset */ nd_uint16_t count; /* Count */ nd_uint8_t data[564]; /* Data, [Padding, [Authenticator]] */ -}; +} UNALIGNED; /* * Print NTP time requests and responses -- 2.39.5