upx/TODO

115 lines
2.3 KiB
Plaintext
Raw Normal View History

UPX TODO list. Last updated 2006-12-08.
IMPORTANT PROBLEMS THAT SHOULD BE FIXED SOON:
- [None]
OTHER:
- docs: convert docs from upx.pod to use AsciiDoc
- check all <const_cast> to make sure they are not invalid
- throwNotCompressible() is not a real error, so make the output nicer
(info: bla bla). Also ui.cpp (total_*).
-----------------------------------------------------------------------
2000-05-19 16:04:55 +00:00
IMPROVED COMPRESSION RATIO
==========================
2000-05-19 16:04:55 +00:00
- experiment with new filters
2000-05-19 16:04:55 +00:00
- implement filters for dos/exe
2000-05-19 16:04:55 +00:00
- filters: could we exploit a f->firstcall info field ?
2000-05-19 16:04:55 +00:00
- for small programs (e.g. < 64k), try an additional algorithm
to see if it gives better compression
2000-05-19 16:04:55 +00:00
ALL FORMATS
===========
2000-05-19 16:04:55 +00:00
- more thoroughly test the exe-header in canPack()
and throw exceptions when encountering bad values.
2000-05-19 16:04:55 +00:00
- implement `--cpu=486' option to use bswap on the 32-bit formats
(if cpu >= 486)
2000-05-19 16:04:55 +00:00
FORMAT DJGPP2/COFF
==================
2000-05-19 16:04:55 +00:00
- handle overlays
2000-05-19 16:04:55 +00:00
- fix default file extension handling when the --coff option is set
2000-05-19 16:04:55 +00:00
FORMAT DOS/EXE
==============
2000-05-19 16:04:55 +00:00
- implement filters
2000-05-19 16:04:55 +00:00
- add a check so that we don't pack djgpp1 binaries
2000-05-19 16:04:55 +00:00
FORMAT LINUX/386
================
2000-05-19 16:04:55 +00:00
- don't mmap() the temporary output file - this seems to improve
file io speed
2000-05-19 16:04:55 +00:00
FORMAT TMT/ADAM
===============
2000-05-19 16:04:55 +00:00
- the decompressors are already aligned, no need for an
extra alignment
2000-05-19 16:04:55 +00:00
FORMAT WATCOM/LE
================
2000-05-19 16:04:55 +00:00
- handle files without relocations
- the decompressors are already aligned, no need for an
extra alignment
2000-05-19 16:04:55 +00:00
- fix default file extension handling when the --le option is set
2000-05-19 16:04:55 +00:00
- handle holes in the file
2000-05-19 16:04:55 +00:00
FORMAT WIN16/NE
===============
- implement readFileHeader() to correctly identify a win16/ne
executable, so that the call for contribution will get thrown
FORMAT WIN32/PE
===============
2000-05-19 16:04:55 +00:00
- fix the section alignment with the Intel compiler
2000-05-19 16:04:55 +00:00
- decrease runtime memory overhead
2000-05-19 16:04:55 +00:00
3 - difficult) don't compress the BSS section and other holes.
2000-05-19 16:04:55 +00:00
4 - medium - ml) fix when objectalign < 0x1000
2000-05-19 16:04:55 +00:00
4 - easy - ml) put the original offset of moved resources somewhere into
the res.dir. (if it's safe to do)
2000-05-19 16:04:55 +00:00
4 - ??? - ml) fix FIXMEs
2000-05-19 16:04:55 +00:00
5 - medium - ml) try to put the preprocessed imports & relocs back to their
original section if possible. this could save some virtual memory
address space.