mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
Updated from 1.05 release.
committer: mfx <mfx> 980367939 +0000
This commit is contained in:
parent
d5dd445a06
commit
7371c219b1
7
NEWS
7
NEWS
|
@ -20,6 +20,13 @@ Changes in 1.11 beta (20 Dec 2000):
|
||||||
* reduced overall memory requirements during packing
|
* reduced overall memory requirements during packing
|
||||||
* quite a number of internal source code rearrangements
|
* quite a number of internal source code rearrangements
|
||||||
|
|
||||||
|
Changes in 1.05 (24 Jan 2001)
|
||||||
|
* win32/pe: refuse to compress programs with TLS callbacks
|
||||||
|
* win32/pe: stub changes to avoid slowdowns with some virus monitors
|
||||||
|
* win32/pe: reverted the relocation handling changes in 1.04
|
||||||
|
* linux/386: dont try to compress Linux kernel images (have a look
|
||||||
|
at the unstable UPX 1.1x beta versions for that)
|
||||||
|
|
||||||
Changes in 1.04 (19 Dec 2000)
|
Changes in 1.04 (19 Dec 2000)
|
||||||
* dos/exe: fixed an internal error when using `--no-reloc'
|
* dos/exe: fixed an internal error when using `--no-reloc'
|
||||||
* win32/pe: fixed a rare bug in the relocation handling code
|
* win32/pe: fixed a rare bug in the relocation handling code
|
||||||
|
|
|
@ -45,15 +45,16 @@ static const
|
||||||
#define FILLVAL 0
|
#define FILLVAL 0
|
||||||
|
|
||||||
|
|
||||||
// keep the namespace clean
|
// Some defines to keep the namespace clean.
|
||||||
// it would be better to use inner classes except for Interval, which
|
// It would be better to use inner classes except for Interval, which
|
||||||
// could be used elsewhere too
|
// could be used elsewhere too.
|
||||||
|
|
||||||
#define Interval PackW32Pe_Interval
|
#define Interval PackW32Pe_Interval
|
||||||
#define Reloc PackW32Pe_Reloc
|
#define Reloc PackW32Pe_Reloc
|
||||||
#define Resource PackW32Pe_Resource
|
#define Resource PackW32Pe_Resource
|
||||||
#define import_desc PackW32Pe_import_desc
|
#define import_desc PackW32Pe_import_desc
|
||||||
#define Export PackW32Pe_Export
|
#define Export PackW32Pe_Export
|
||||||
|
#define tls PackW32Pe_tls
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
|
@ -356,8 +357,7 @@ void Reloc::finish(upx_byte *&p,unsigned &siz)
|
||||||
}
|
}
|
||||||
p = start;
|
p = start;
|
||||||
siz = ptr_diff(rel1,start) &~ 3;
|
siz = ptr_diff(rel1,start) &~ 3;
|
||||||
siz -= 4;
|
siz -= 8;
|
||||||
rel->pagestart = 0; // terminating 0
|
|
||||||
assert(siz > 0);
|
assert(siz > 0);
|
||||||
start = 0; // safety
|
start = 0; // safety
|
||||||
}
|
}
|
||||||
|
@ -918,8 +918,9 @@ void PackW32Pe::processTls(Interval *iv) // pass 1
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const tls * const tlsp = (const tls*) (ibuf + IDADDR(PEDIR_TLS));
|
const tls * const tlsp = (const tls*) (ibuf + IDADDR(PEDIR_TLS));
|
||||||
if (tlsp->callbacks) // note: callbacks are not implemented on windoze 9x
|
// note: TLS callbacks are not implemented in Windows 95/98/ME
|
||||||
throwCantPack("tls callbacks are not supported");
|
if (tlsp->callbacks)
|
||||||
|
throwCantPack("TLS callbacks are not supported");
|
||||||
unsigned tlsdatastart = tlsp->datastart - ih.imagebase;
|
unsigned tlsdatastart = tlsp->datastart - ih.imagebase;
|
||||||
unsigned tlsdataend = tlsp->dataend - ih.imagebase;
|
unsigned tlsdataend = tlsp->dataend - ih.imagebase;
|
||||||
|
|
||||||
|
@ -969,7 +970,7 @@ void PackW32Pe::processTls(Reloc *rel,const Interval *iv,unsigned newaddr) // pa
|
||||||
|
|
||||||
tlsp->datastart = newaddr + sizeof(tls) + ih.imagebase;
|
tlsp->datastart = newaddr + sizeof(tls) + ih.imagebase;
|
||||||
tlsp->dataend = newaddr + sotls + ih.imagebase;
|
tlsp->dataend = newaddr + sotls + ih.imagebase;
|
||||||
tlsp->callbacks = 0; // note: callbacks are not implemented on windoze 9x
|
tlsp->callbacks = 0; // note: TLS callbacks are not implemented in Windows 95/98/ME
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user