diff --git a/README b/README index 50d44f3f..6e5bbfe4 100644 --- a/README +++ b/README @@ -20,10 +20,10 @@ All versions 1.9x are unstable beta releases - use them only for testing, and never distribute a program that is packed with them ! There will be hidden bugs. Really. -The current stable release is 1.24, and the next stable release +The current stable release is 1.25, and the next stable release will be called version 2.00. -The main news since 1.24 are: +The main news since 1.25 are: - slightly better compression using the new NRV2E algorithm - new options for compression tuining (e.g. `--brute') - support for bootable Linux kernels ("vmlinuz/386") diff --git a/README.SRC b/README.SRC index 40311199..9334d77d 100644 --- a/README.SRC +++ b/README.SRC @@ -69,11 +69,11 @@ Tools needed to build/modify the UPX sources - A C++ compiler supporting inner classes, templates, exceptions and RTTI. - - GNU make for Win32 - http://upx.sourceforge.net/download/tools/ + - GNU make 3.80 for Win32 + http://www.cygwin.com/ - - GNU make for DOS - ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/ + - GNU make 3.80 for DOS + http://www.delorie.com/djgpp/ To compile the packer sources @@ -81,8 +81,8 @@ To compile the packer sources set the environment variable UCLDIR to point to your UCL installation, e.g. - set UCLDIR=c:\src\ucl-1.01 (DOS / Windows) - export UCLDIR=$HOME/local/src/ucl-1.01 (Unix) + set UCLDIR=c:\src\ucl-1.02 (DOS / Windows) + export UCLDIR=$HOME/local/src/ucl-1.02 (Unix) then type diff --git a/src/conf.h b/src/conf.h index ebb40b8d..56770d66 100644 --- a/src/conf.h +++ b/src/conf.h @@ -88,10 +88,10 @@ # pragma warning(disable: 4514) // W4: 'function': unreferenced inline function has been removed # pragma warning(disable: 4710) // W4: 'function': function not inlined # if (_MSC_VER >= 1300) -# pragma warning(disable: 4625) // W4: -# pragma warning(disable: 4626) // W4: -# pragma warning(disable: 4711) // W4: -# pragma warning(disable: 4820) // W4: +# pragma warning(disable: 4625) // W4: 'class' : copy constructor could not be generated because a base class copy constructor is inaccessible +# pragma warning(disable: 4626) // W4: 'class' : assignment operator could not be generated because a base class assignment operator is inaccessible +# pragma warning(disable: 4711) // W4: 'function' selected for automatic inline expansion +# pragma warning(disable: 4820) // W4: 'struct' : 'x' bytes padding added after member 'member' # endif # if (_MSC_VER >= 1400) # pragma warning(disable: 4996) // W1: 'function': was declared deprecated diff --git a/src/p_vmlinx.cpp b/src/p_vmlinx.cpp index ac2414a3..d1694ec9 100644 --- a/src/p_vmlinx.cpp +++ b/src/p_vmlinx.cpp @@ -70,7 +70,7 @@ const int *PackVmlinuxI386::getFilters() const } static int __acc_cdecl_qsort -compare_Phdr(void const *const aa, void const *const bb) +compare_Phdr(void const *aa, void const *bb) { Elf_LE32_Phdr const *const a = (Elf_LE32_Phdr const *)aa; Elf_LE32_Phdr const *const b = (Elf_LE32_Phdr const *)bb; @@ -140,7 +140,7 @@ bool PackVmlinuxI386::canPack() return false; } if (0 < j) { - unsigned const sz = -phdri[j-1].p_align + unsigned const sz = (0u - phdri[j-1].p_align) & (phdri[j-1].p_align -1 + phdri[j-1].p_filesz); if ((sz + phdri[j-1].p_offset)!=phdri[j].p_offset) { return false;