Version history for UPX
<<Back to software description
Changes for v3.09 - v3.91
- Added experimental support for Windows 64-bit PE files, based on work by Stefan Widmann. Please use for testing only!
- bug fixes
Changes for v3.08 - v3.09
- New option --preserve-build-id for GNU ELF.
- Allow for code signing and LC_UUID on Mac OS X executables.
- Allow non-contiguous LC_SEGMENTs and 0==.vmsize for Mach-O.
- Allow zero-filled final page in PackUnix::canUnpack().
- bug fixes
Changes for v3.07 - v3.08
- Fix allocation in runtime stub for darwin.macho-entry (i386 and amd64).
- Compress shared library on ELF i386 only [ld.so threatens even this case].
- Attempt to suport ELF on QNX 6.3.0 for armel (experimental).
- Better diangostic when ELF -fPIC is needed.
- PT_NOTE improvements for *BSD.
- Preserve more ELF .e_flags on ARM.
- Minor code improvements for ELF stubs
- Defend against another flavor of corrupt PE header.
- bug fixes
Changes for v3.06 - v3.07
- win32/pe: fixed relocation handling for files with *no* TLS callbacks [severe bug introduced in 3.06]
Changes for v3.04 - v3.05
- i386-linux and amd64-linux support shared libraries (DT_INIT must exist, all info needed by runtime loader must be first in .text, etc.)
- Linux /proc/self/exe now is preserved by default, by leaving behind one page. New compress-time option --unmap-all-pages is available.
- Withdraw support for shared libraries on Darwin (Apple Mac OS X) because upx does not understand enough about .dylib.
- bug fixes
Changes for v3.03 - v3.04
- new format Mach/AMD64 supports 64-bit programs on Apple Macintosh.
- new formats Dylib/i386 and Dylib/ppc32 support shared libraries [such as browser plugins] on Darwin (Apple Macintosh). An existing -init function (LC_ROUTINES command) is required.
- new format vmlinuz/armel for Debian NSLU2 (etc.) linux kernel
- bvmlinuz boot protocol 2.08 for 386 Linux kernel
- Extended ABI version 4 for armel-eabi ARM Linux ELF
- bug fixes
Changes for v3.02 - v3.03
- optional LZMA compression
- support for BSD systems
Changes for v3.01 - v3.02
- fix unmapping on arm-linux.elf
- fix error checking in mmap for i386-linux.elf [triggered by -fPIE]
- bug fixes