The following patch(taking from suggestions in bug#74259) is the culprit(as verified by Ben).
Index: lib/nfmalloc.c =================================================================== RCS file: /cvs/dpkg/dpkg/lib/nfmalloc.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- lib/nfmalloc.c 1999/01/29 08:54:00 1.1 +++ lib/nfmalloc.c 2000/12/20 07:33:47 1.2 @@ -30,7 +30,7 @@ #define UNIQUE 4096 union maxalign { - long l; long double d; + long l; void *pv; char *pc; union maxalign *ps; void (*pf)(void); }; I am not sure if he did my suggestion of moving the long l to the last field in the union, to see if that helps it. ----BEGIN GEEK CODE BLOCK---- Version: 3.12 GCS d- s: a-- c+++ UL++++ P+ L++++ !E W+ M o+ K- W--- !O M- !V PS-- PE++ Y+ PGP++ t* 5++ X+ tv b+ D++ G e h*! !r z? -----END GEEK CODE BLOCK----- ----BEGIN PGP INFO---- Adam Heath <[EMAIL PROTECTED]> Finger Print | KeyID 67 01 42 93 CA 37 FB 1E 63 C9 80 1D 08 CF 84 0A | DE656B05 PGP AD46 C888 F587 F8A3 A6DA 3261 8A2C 7DC2 8BD4 A489 | 8BD4A489 GPG -----END PGP INFO-----