From 6124c37135b2766d785471fe9b3eba9c1a233c66 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Thu, 27 Sep 2007 11:15:42 +0000 Subject: zcip: fix unaligned trap on ARM --- networking/zcip.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'networking/zcip.c') diff --git a/networking/zcip.c b/networking/zcip.c index 63846ebef..62350c640 100644 --- a/networking/zcip.c +++ b/networking/zcip.c @@ -160,7 +160,8 @@ int zcip_main(int argc, char **argv); int zcip_main(int argc, char **argv) { int state = PROBE; - struct ether_addr eth_addr; + /* Prevent unaligned traps for ARM (see srand() below) */ + struct ether_addr eth_addr __attribute__(( aligned(sizeof(unsigned)) )); const char *why; int fd; char *r_opt; @@ -252,7 +253,7 @@ int zcip_main(int argc, char **argv) // the hardware address or else the last address we used. // NOTE: the sequence of addresses we try changes only // depending on when we detect conflicts. - srand(*(unsigned*)&ifr.ifr_hwaddr.sa_data); + srand(*(unsigned*)ð_addr); if (ip.s_addr == 0) pick(&ip); -- cgit v1.2.3