2.1.71 bytesex problems.

C. Scott Ananian (cananian@lcs.mit.edu)
Fri, 5 Dec 1997 08:22:03 -0500 (EST)


-----BEGIN PGP SIGNED MESSAGE-----

Arch is i386.
Using 2.1.70:
$ gcc -o rdns rdns.c
$
Using 2.1.71:
$ gcc -o rdns rdns.c
/tmp/cca035681.o: In function `main':
/tmp/cca035681.o(.text+0x185): undefined reference to `__fswab32'
$
Looking for the errant header:
$ grep __fswab32 /usr/include/linux/*.h
/usr/include/linux/byteorder_generic.h: ___swab32((x)) : __fswab32((x)))
/usr/include/linux/byteorder_generic.h:extern __inline__ __const__ __u32
__fswab32(__u32 x)

Hmm, so maybe inlining is the problem?
On 2.1.71:
$ gcc -O9 -o rdns rdns.c
$

No errors.
- ---------------------- SUMMARY ----------------
Byte swapping is BROKEN on 2.1.71 when compiler optimizations are turned
off, because the standard library does not have a __fswab32() function to
fall back on when inlining is not enabled. This needs to be fixed.
--Scott
@ @
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-oOO-(_)-OOo-=-=-=-=-=
C. Scott Ananian: cananian@lcs.mit.edu / Declare the Truth boldly and
Laboratory for Computer Science/Crypto / without hindrance.
Massachusetts Institute of Technology /META-PARRESIAS AKOLUTOS:Acts 28:31
-.-. .-.. .. ..-. ..-. --- .-. -.. ... -.-. --- - - .- -. .- -. .. .- -.
PGP key available via finger and from http://www.pdos.lcs.mit.edu/~cananian

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3a
Charset: noconv

iQCVAwUBNIf//r3Z92aFrZ7tAQFSfAP/f1gZQt98gZ2U2/G0NXVS1y2Pd0/piChh
qMhlew7H2uvvJ8pN3fhTstlfrLSBBhUglZENU87ZyAP2k29U+6vTAt62Sl9weycc
U9jqY/cDLSLrr1D7i6p7b5C5fQHS5wN81Vu9SU1LLNls2CxmIxResrpswvdUH7Kt
dzo1Cy4r40s=
=dqNZ
-----END PGP SIGNATURE-----