Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Aug 1999 09:40:22 -0700
From:      Tamiji Homma <thomma@baynetworks.com>
To:        freebsd-current@freebsd.org
Subject:   ping/egcs
Message-ID:  <19990820094022B.thomma@baynetworks.com>

next in thread | raw e-mail | index | archive | help
Hi,

I just came across the problem with ping and egcs.  If you do

# ping -s 57 localhost
PING localhost (127.0.0.1): 57 data bytes
^C
--- localhost ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss

if the data size is even number, it works OK.  I think that
the problem is that EGCS generates bad code in in_cksum() 
with -O.

Compiling with -O0 solves the problem as well as applying
following patch fixes it.

I wonder if how many problems like this go unnoticed....

*** ping.c-org	Fri Aug 20 09:38:33 1999
--- ping.c	Fri Aug 20 09:39:08 1999
***************
*** 944,949 ****
--- 944,950 ----
  	/* mop up an odd byte, if necessary */
  	if (nleft == 1) {
  		*(u_char *)(&answer) = *(u_char *)w ;
+ 		*((u_char *)(&answer)+1) = 0;
  		sum += answer;
  	}
  
Tammy


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990820094022B.thomma>