Some non-ELF --lzma stubs assumed only one block, and <= 0.5MiB
Fixed for p_lx_exc.cpp; others remain a mystery. https://github.com/upx/upx/issues/816
This commit is contained in:
committed by
Markus F.X.J. Oberhumer
parent
8393ded1b3
commit
4562d5459d
+6
-2
@@ -262,8 +262,12 @@ void Packer::defineDecompressorSymbols() {
|
||||
|
||||
linker->defineSymbol("lzma_properties", properties);
|
||||
// len - 2 because of properties
|
||||
linker->defineSymbol("lzma_c_len", ph.c_len - 2);
|
||||
linker->defineSymbol("lzma_u_len", ph.u_len);
|
||||
if (linker->findSymbol("lzma_c_len", false)) {
|
||||
linker->defineSymbol("lzma_c_len", ph.c_len - 2);
|
||||
}
|
||||
if (linker->findSymbol("lzma_u_len", false)) {
|
||||
linker->defineSymbol("lzma_u_len", ph.u_len);
|
||||
}
|
||||
unsigned stack = getDecompressorWrkmemSize();
|
||||
linker->defineSymbol("lzma_stack_adjust", 0u - stack);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user