mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-03 09:00:21 +00:00
Work around an egcs optimizer bug (i386). This should fix the active ftp
hang problem. A bug report has been sent to cygnus.
This commit is contained in:
parent
65a74e454e
commit
46d28b4462
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=45926
@ -43,7 +43,8 @@ PacketAliasInternetChecksum(u_short *ptr, int nbytes)
|
|||||||
if (nbytes == 1)
|
if (nbytes == 1)
|
||||||
{
|
{
|
||||||
oddbyte = 0;
|
oddbyte = 0;
|
||||||
*((u_char *) &oddbyte) = *(u_char *) ptr;
|
((u_char *) &oddbyte)[0] = *(u_char *) ptr;
|
||||||
|
((u_char *) &oddbyte)[1] = 0;
|
||||||
sum += oddbyte;
|
sum += oddbyte;
|
||||||
}
|
}
|
||||||
sum = (sum >> 16) + (sum & 0xffff);
|
sum = (sum >> 16) + (sum & 0xffff);
|
||||||
@ -84,7 +85,8 @@ TcpChecksum(struct ip *pip)
|
|||||||
if (nbytes == 1)
|
if (nbytes == 1)
|
||||||
{
|
{
|
||||||
oddbyte = 0;
|
oddbyte = 0;
|
||||||
*((u_char *) &oddbyte) = *(u_char *) ptr;
|
((u_char *) &oddbyte)[0] = *(u_char *) ptr;
|
||||||
|
((u_char *) &oddbyte)[1] = 0;
|
||||||
sum += oddbyte;
|
sum += oddbyte;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,8 @@ PacketAliasInternetChecksum(u_short *ptr, int nbytes)
|
|||||||
if (nbytes == 1)
|
if (nbytes == 1)
|
||||||
{
|
{
|
||||||
oddbyte = 0;
|
oddbyte = 0;
|
||||||
*((u_char *) &oddbyte) = *(u_char *) ptr;
|
((u_char *) &oddbyte)[0] = *(u_char *) ptr;
|
||||||
|
((u_char *) &oddbyte)[1] = 0;
|
||||||
sum += oddbyte;
|
sum += oddbyte;
|
||||||
}
|
}
|
||||||
sum = (sum >> 16) + (sum & 0xffff);
|
sum = (sum >> 16) + (sum & 0xffff);
|
||||||
@ -84,7 +85,8 @@ TcpChecksum(struct ip *pip)
|
|||||||
if (nbytes == 1)
|
if (nbytes == 1)
|
||||||
{
|
{
|
||||||
oddbyte = 0;
|
oddbyte = 0;
|
||||||
*((u_char *) &oddbyte) = *(u_char *) ptr;
|
((u_char *) &oddbyte)[0] = *(u_char *) ptr;
|
||||||
|
((u_char *) &oddbyte)[1] = 0;
|
||||||
sum += oddbyte;
|
sum += oddbyte;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user