32ecdb308f
------------------------------------------------------------------------ r172854 | marius | 2007-10-21 10:03:18 -0700 (Sun, 21 Oct 2007) | 16 lines Changed paths: M /head/lib/libstand/tftp.c - Given that we tell the compiler that struct ip is packed and 32-bit aligned, GCC 4.2.1 also generates code for sendudp() that assumes this alignment. GCC 4.2.1 however doesn't 32-bit align wbuf, causing the loader to crash due to an unaligned access of wbuf in sendudp() when netbooting sparc64. Solve this by specifying wbuf as packed and 32-bit aligned, too. As for lastdata and readudp() this currently is no issue when compiled with GCC 4.2.1, though give lastdata the same treatment as wbuf for consistency and possibility of being affected in the future. [1] - Sprinkle const on a lookup table. ------------------------------------------------------------------------ |
||
---|---|---|
.. | ||
arm | ||
i386 | ||
mips | ||
powerpc | ||
sparc64 | ||
__main.c | ||
arp.c | ||
assert.c | ||
bcd.c | ||
bootp.c | ||
bootp.h | ||
bootparam.c | ||
bootparam.h | ||
bswap.c | ||
bzipfs.c | ||
cd9660.c | ||
close.c | ||
closeall.c | ||
dev.c | ||
dosfs.c | ||
dosfs.h | ||
environment.c | ||
ether.c | ||
ext2fs.c | ||
fstat.c | ||
getopt.c | ||
gets.c | ||
globals.c | ||
gzipfs.c | ||
if_ether.h | ||
in_cksum.c | ||
inet_ntoa.c | ||
ioctl.c | ||
iodesc.h | ||
libstand.3 | ||
lseek.c | ||
Makefile | ||
net.c | ||
net.h | ||
netif.c | ||
netif.h | ||
nfs.c | ||
nfsv2.h | ||
nullfs.c | ||
open.c | ||
pager.c | ||
printf.c | ||
qdivrem.c | ||
quad.h | ||
random.c | ||
rarp.c | ||
read.c | ||
readdir.c | ||
rpc.c | ||
rpc.h | ||
rpcv2.h | ||
saioctl.h | ||
sbrk.c | ||
splitfs.c | ||
stand.h | ||
stat.c | ||
strcasecmp.c | ||
strdup.c | ||
strerror.c | ||
strtol.c | ||
tftp.c | ||
tftp.h | ||
twiddle.c | ||
udp.c | ||
ufs.c | ||
write.c | ||
zalloc_defs.h | ||
zalloc_malloc.c | ||
zalloc_mem.h | ||
zalloc_protos.h | ||
zalloc.c |