mirror of
https://github.com/upx/upx.git
synced 2025-08-11 22:52:30 +08:00
Small updates.
This commit is contained in:
5
NEWS
5
NEWS
@ -2,8 +2,11 @@
|
|||||||
User visible changes for UPX
|
User visible changes for UPX
|
||||||
==================================================================
|
==================================================================
|
||||||
|
|
||||||
Changes in 2.92 beta (XX XXX 2007):
|
Changes in 2.92 beta (XX Jan 2007):
|
||||||
* new option '--ultra-brute' which tries even more variants
|
* new option '--ultra-brute' which tries even more variants
|
||||||
|
* slightly improved compression ratio for some files when
|
||||||
|
using '--brute' or '--ultra-brute'
|
||||||
|
* bug fixes
|
||||||
|
|
||||||
Changes in 2.91 beta (29 Nov 2006):
|
Changes in 2.91 beta (29 Nov 2006):
|
||||||
* assorted bug fixes
|
* assorted bug fixes
|
||||||
|
@ -371,7 +371,7 @@ int upx_lzma_compress ( const upx_bytep src, unsigned src_len,
|
|||||||
rh = enc.Code(&is, &os, NULL, NULL, &progress);
|
rh = enc.Code(&is, &os, NULL, NULL, &progress);
|
||||||
|
|
||||||
#ifndef _NO_EXCEPTIONS
|
#ifndef _NO_EXCEPTIONS
|
||||||
} catch(...) { return UPX_E_OUT_OF_MEMORY; }
|
} catch (...) { rh = E_OUTOFMEMORY; }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
assert(is.b_pos <= src_len);
|
assert(is.b_pos <= src_len);
|
||||||
|
@ -619,7 +619,11 @@ void ElfLinkerAMD64::relocate1(const Relocation *rel, upx_byte *location,
|
|||||||
|
|
||||||
if (strcmp(type, "8") == 0)
|
if (strcmp(type, "8") == 0)
|
||||||
{
|
{
|
||||||
|
#if (ACC_CC_PGI)
|
||||||
|
int displ = * (signed char *) location + (int) value; // CBUG
|
||||||
|
#else
|
||||||
int displ = (signed char) *location + (int) value;
|
int displ = (signed char) *location + (int) value;
|
||||||
|
#endif
|
||||||
if (displ < -128 || displ > 127)
|
if (displ < -128 || displ > 127)
|
||||||
{
|
{
|
||||||
printf("target out of range (%d) in reloc %s:%x\n",
|
printf("target out of range (%d) in reloc %s:%x\n",
|
||||||
@ -823,10 +827,14 @@ void ElfLinkerX86::relocate1(const Relocation *rel, upx_byte *location,
|
|||||||
|
|
||||||
if (strcmp(type, "8") == 0)
|
if (strcmp(type, "8") == 0)
|
||||||
{
|
{
|
||||||
|
#if (ACC_CC_PGI)
|
||||||
|
int displ = * (signed char *) location + (int) value; // CBUG
|
||||||
|
#else
|
||||||
int displ = (signed char) *location + (int) value;
|
int displ = (signed char) *location + (int) value;
|
||||||
|
#endif
|
||||||
if (range_check && (displ < -128 || displ > 127)) {
|
if (range_check && (displ < -128 || displ > 127)) {
|
||||||
printf("target out of range (%d) in reloc %s:%x\n",
|
printf("target out of range (%d,%d,%d) in reloc %s:%x\n",
|
||||||
displ, rel->section->name, rel->offset);
|
displ, *location, value, rel->section->name, rel->offset);
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
*location += value;
|
*location += value;
|
||||||
|
Reference in New Issue
Block a user