In the in_cksum routine in ping.c, the 'if' case to handle pings of odd length incorrectly handles the final byte. The code in ping.c will work for big-endian targets, but fails for little-endian builds. For example: ping -s 513 localhost has 100% data loss, where ping -s 512 localhost does not, on x86.
Fixed (by porting Alexey Kuznetsov's version from iputils) in netkit-base-0.10-30.