Mail Archives: djgpp/2003/01/26/07:21:24
I had downloaded gmp412s and following the instructions in
DJGPP/readme.djg checked to be sure my supporting files were
current. Except for fil41b, where the release of 10/11/02
(the one from which only "ls.exe" would not pack) was installed,
the latest versions were in place. The package was configured
for the pentium processor and the libraries built without trouble.
All tests completed successfully, the source object files were
stripped, libraries rebuilt and installed. Everything worked
as expected.
Then I moved to the demos subdirectory.
bash-2.04$ make allprogs > demo.log 2>&1
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -g -O2 -fomit-frame-pointer \
-mcpu=pentium -march=pentium -c `test -f factorize.c || \
echo './'`factorize.c
/dev/env/DJDIR/bin/sh.exe ../libtool --mode=link gcc -g -O2 \
-fomit-frame-pointer -mcpu=pentium -march=pentium -o factorize.exe \
factorize.o ../libgmp.la
mkdir .libs
gcc -g -O2 -fomit-frame-pointer -mcpu=pentium -march=pentium -o \
factorize.exe factorize.o /dev/env/DJDIR/lib/libgmp.a
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -g -O2 -fomit-frame-pointer \
-mcpu=pentium -march=pentium -c `test -f isprime.c || echo './'`isprime.c
/dev/env/DJDIR/bin/sh.exe ../libtool --mode=link gcc -g -O2 \
-fomit-frame-pointer -mcpu=pentium -march=pentium -o isprime.exe \
isprime.o ../libgmp.la
gcc -g -O2 -fomit-frame-pointer -mcpu=pentium -march=pentium -o \
isprime.exe isprime.o /dev/env/DJDIR/lib/libgmp.a
....skipping to end of successful build.
bash-2.04$ upx --best *.exe calc/*.exe expr/*.exe >> demo.log 2>&1
Ultimate Packer for eXecutables
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
UPX 1.24d Markus F.X.J. Oberhumer & Laszlo Molnar Nov 7th 2002
File size Ratio Format Name
-------------------- ------ ----------- ----------
178142 -> 64552 36.23% djgpp2/coff factorize.exe
upx: isprime.exe: CantPackException: unsupported coff header
upx: pexpr.exe: CantPackException: unsupported coff header
upx: primes.exe: CantPackException: unsupported coff header
148519 -> 53220 35.83% djgpp2/coff qcn.exe
upx: calc/calc.exe: CantPackException: unsupported coff header
upx: expr/run-expr.exe: CantPackException: unsupported coff header
upx: expr/t-expr.exe: CantPackException: unsupported coff header
____________________ ______ ___________
326661 -> 117772 36.05% [ 2 files ]
Packed 8 files: 2 ok, 6 errors.
So if djgpp 204 is not heading in the direction of a new coff header,
the new tools seem to be taking us there. Incidentally, I checked
"factorize" which worked before packing, while packed, and after
unpacking.
On further tests, the executables of InfoZIP's zip and unzip built
with these tools could all be packed by UPX 1.24d while bzip2.exe
and bzip2recover.exe from bzip2-1.02 were with unsupported coff
headers. The zips build no library while bzip2 does. Is that a
clue? The behavior of gmp seems capricious.
In the words of Walt Kelly's cartoon character Albert, "We have
met the enemy and he is us."
Regards,
Frank
- Raw text -