John Reiser
e5546bc8b0
32-bit ELF escape hatch when no fit on last executable page
...
... about 1/1000 (4/PAGE_SIZE) chance
modified: src/stub/src/i386-linux.elf-main.c
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
plus all 32-bit elf-fold.h, elf-fold.map
2024-05-06 09:42:13 -07:00
Markus F.X.J. Oberhumer
8506f5b17c
testsuite: update checksums caused by version change
2024-05-02 19:38:46 +02:00
Markus F.X.J. Oberhumer
038743c694
CI updates
2024-05-02 03:21:27 +02:00
John Reiser
92c925fe95
New i386/lzma-multi_d.S enables unpacking more than one block
...
Used by p_lx_exe.cpp; others keep old i386/lzma_d.S
which allows only one block, but avoids trouble with
anti-virus utilities for some OS.
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
new file: src/stub/src/arch/i386/lzma-multi_d.S
modified: src/stub/src/arch/i386/lzma_d.S
modified: src/stub/src/i386-bsd.elf.execve-entry.S
modified: src/stub/src/i386-linux.elf.execve-entry.S
plus stub/*.h, *.dump
Notable:
modified: src/stub/i386-dos32.djgpp2.h
modified: src/stub/i386-dos32.tmt.h
modified: src/stub/i386-dos32.watcom.le.h
modified: src/stub/i386-win32.pe.h
2024-05-01 10:09:52 -07:00
John Reiser
4562d5459d
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
2024-05-01 10:09:52 -07:00
Markus F.X.J. Oberhumer
157a63a023
CI updates
2024-04-28 22:18:47 +02:00
Markus F.X.J. Oberhumer
ddf2da3d76
cmake: run tests in parallel; misc/podman: add 30-rebuild-stubs.sh
2024-04-26 10:36:01 +02:00
Markus F.X.J. Oberhumer
aed2c085b8
misc: update mimic_ctest.sh
2024-04-25 10:56:24 +02:00
Markus F.X.J. Oberhumer
a7592b2ca2
all: enhance tests
2024-04-25 03:19:59 +02:00
John Reiser
265c100845
PowerPC64 nrv2d decompressor
...
https://github.com/upx/upx/issues/813
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: src/stub/src/arch/powerpc/64le/nrv2d_d.S
modified: src/stub/powerpc64-darwin.dylib-entry.h
modified: src/stub/powerpc64-darwin.macho-entry.h
modified: src/stub/powerpc64-linux.elf-entry.h
modified: src/stub/powerpc64le-linux.elf-entry.h
modified: src/stub/powerpc64le-linux.kernel.vmlinux.h
2024-04-24 14:37:09 -07:00
John Reiser
84e8288f61
Propagate yesterday's fix to stub decoding on PowerPC
...
https://github.com/upx/upx/issues/813
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: src/stub/src/arch/powerpc/32/nrv2d_d.S
modified: src/stub/src/arch/powerpc/32/nrv2e_d.S
modified: src/stub/src/arch/powerpc/64le/nrv2b_d.S
modified: src/stub/src/arch/powerpc/64le/nrv2d_d.S
modified: src/stub/powerpc-darwin.dylib-entry.h
modified: src/stub/powerpc-darwin.macho-entry.h
modified: src/stub/powerpc-linux.elf-entry.h
modified: src/stub/powerpc-linux.kernel.vmlinux.h
modified: src/stub/powerpc64-darwin.dylib-entry.h
modified: src/stub/powerpc64-darwin.macho-entry.h
modified: src/stub/powerpc64-linux.elf-entry.h
modified: src/stub/powerpc64le-linux.elf-entry.h
modified: src/stub/powerpc64le-linux.kernel.vmlinux.h
modified: src/stub/tmp/powerpc-darwin.dylib-entry.bin.dump
modified: src/stub/tmp/powerpc-darwin.macho-entry.bin.dump
modified: src/stub/tmp/powerpc-linux.elf-entry.bin.dump
modified: src/stub/tmp/powerpc-linux.kernel.vmlinux.bin.dump
modified: src/stub/tmp/powerpc64-darwin.dylib-entry.bin.dump
modified: src/stub/tmp/powerpc64-darwin.macho-entry.bin.dump
modified: src/stub/tmp/powerpc64-linux.elf-entry.bin.dump
modified: src/stub/tmp/powerpc64le-linux.elf-entry.bin.dump
modified: src/stub/tmp/powerpc64le-linux.kernel.vmlinux.bin.dump
2024-04-24 10:36:55 -07:00
John Reiser
6db0af8d04
PowerPC cannot branch on CArry; requires contortions
...
https://github.com/upx/upx/issues/813
modified: src/stub/src/arch/powerpc/32/nrv2b_d.S
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: src/stub/powerpc-darwin.dylib-entry.h
modified: src/stub/powerpc-darwin.macho-entry.h
modified: src/stub/powerpc-linux.elf-entry.h
modified: src/stub/powerpc-linux.kernel.vmlinux.h
modified: src/stub/src/i386-linux.elf-main.c
modified: src/stub/tmp/powerpc-darwin.dylib-entry.bin.dump
modified: src/stub/tmp/powerpc-darwin.macho-entry.bin.dump
modified: src/stub/tmp/powerpc-linux.elf-entry.bin.dump
modified: src/stub/tmp/powerpc-linux.kernel.vmlinux.bin.dump
2024-04-23 17:40:07 -07:00
Markus F.X.J. Oberhumer
842d2cbb0d
testsuite: update checksums
2024-04-21 19:46:05 -07:00
Markus F.X.J. Oberhumer
9d26713b1a
Add experimental (and undocumented) --help-verbose and --help-short options.
2024-04-21 14:20:18 +02:00
Markus F.X.J. Oberhumer
eb3c55b5cb
all: add more tests
2024-04-21 12:17:38 +02:00
Markus F.X.J. Oberhumer
1d2b276425
all: improve tests
2024-04-16 15:20:56 +02:00
Markus F.X.J. Oberhumer
90a7faa15e
CI updates
2024-04-10 10:52:48 +02:00
John Reiser
91f5fe1c0e
arm64 --nrv2d instruction confusion
...
https://github.com/upx/upx/issues/806
ARM Architecture Reference Manual
ARMv8, for ARMv8-A architecture profile
Section C6.2.47, page C6-595 (note the 'invert'!)
CINC <Wd>, <Wn>, <cond>
is equivalent to
CSINC <Wd>, <Wn>, <Wn>, invert(<cond>)
modified: src/stub/src/arch/arm64/v8/nrv2d_d32.S
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: src/stub/arm64-darwin.macho-entry.h
modified: src/stub/arm64-linux.elf-entry.h
modified: src/stub/arm64-linux.elf-so_fold.h
modified: src/stub/arm64-linux.shlib-init.h
modified: src/stub/arm64-win64.pe.h
2024-04-07 14:01:19 -07:00
John Reiser
d48a7d303d
Sync checksums for testsuite_1 (-release)
...
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
2024-04-06 18:37:34 -07:00
Markus F.X.J. Oberhumer
97cf29ffbb
all: enhance CMake tests; assorted updates
2024-04-06 15:47:46 +02:00
Markus F.X.J. Oberhumer
d1f62e3ab4
testsuite: update checksums caused by version bump
2024-03-28 19:51:57 +01:00
Markus F.X.J. Oberhumer
a21a006fe9
all: yet more minor cleanups
2024-03-19 16:03:37 +01:00
Markus F.X.J. Oberhumer
54d16a458a
CI updates; cleanups
2024-03-16 17:46:40 +01:00
Markus F.X.J. Oberhumer
cfc5f42ef2
testsuite: update checksums caused by version change
2024-03-12 18:16:52 +01:00
John Reiser
41f6945be1
Fix auxv_up() to avoid SIGSEGV under valgrind
...
https://github.com/upx/upx/issues/784
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/i386-linux.elf-main.c
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
plus all generated stub/*-linux.elf-fold.{h,map}
2024-02-03 13:58:53 -08:00
Markus F.X.J. Oberhumer
b019440980
testsuite: update checksums caused by version year bump
2024-01-13 20:08:08 +01:00
John Reiser
38ed4b2017
arm32, arm64 ABI for -static must preserve register 0
...
Also arm32 forgot to unmap the expanded de-compressor via the escape hatch.
https://github.com/upx/upx/issues/758
https://github.com/upx/upx/issues/768
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/amd64-linux.elf-main.c
plus associated *.h *.map *.dump
2024-01-12 15:39:18 -08:00
John Reiser
09c5e38322
arm64-linux.elf ABI owns x0 at execve()?
...
https://github.com/upx/upx/issues/758
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/arm64-linux.elf-fold.h
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/tmp/arm64-linux.elf-fold.map
2024-01-09 12:17:01 -08:00
John Reiser
fe6f1f0bb6
arm64-linux.elf-fold.S typo (eyesight)
...
https://github.com/upx/upx/issues/743
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: src/stub/arm64-linux.elf-fold.h
modified: src/stub/src/arm64-linux.elf-fold.S
2024-01-09 10:01:07 -08:00
Markus F.X.J. Oberhumer
250c656b9e
testsuite: update checksums caused by version bump
2024-01-04 03:18:19 +01:00
Markus F.X.J. Oberhumer
f2ad7fb9c4
testsuite: update checksums caused by version bump
2024-01-03 18:00:07 +01:00
Markus F.X.J. Oberhumer
3cde897557
Improve testsuite.
2023-12-28 21:44:53 +01:00
Markus F.X.J. Oberhumer
3e70021406
all: more minor cleanups
2023-11-26 18:30:47 +01:00
John Reiser
d4e94f5086
Fix varying page size on arm64
...
https://github.com/upx/upx/issues/734
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
... plus associated stub/*.h etc
2023-11-17 15:10:31 -08:00
Markus F.X.J. Oberhumer
11970d276d
CI updates
2023-11-04 06:30:07 +01:00
Markus F.X.J. Oberhumer
b2810c6deb
testsuite: update checksums caused by version bump
2023-11-01 15:12:39 +01:00
John Reiser
52400e2561
/proc/self/exe now is optional
...
... for the benefit of 'unshare', 'chroot', etc.
If not present, then upx run-time stub unmaps all pages of original main program.
https://github.com/upx/upx/issues/721
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
... plus all associaed *.h, *.map, *.dump in stub/
2023-10-30 08:23:52 -07:00
Markus F.X.J. Oberhumer
cd1df6f6b1
all: update version
2023-10-29 15:37:13 +01:00
Markus F.X.J. Oberhumer
27f155374a
testsuite: update checksums caused by version bump
2023-10-26 12:28:52 +02:00
Markus F.X.J. Oberhumer
4870765e1b
all: disable packing macOS binaries for now
2023-10-15 10:15:46 +02:00
John Reiser
0515be4334
LZMA on AMD64 had bug in calling sequence, leading to random exit(127)
...
LzmaDecode randomly decided that the input had ended in the middle,
because of error in interface between ELFMAINX and the decoder.
Thanks to Kevin Gosse!
https://github.com/upx/upx/pull/716
https://github.com/MichalStrehovsky/PublishAotCompressed/issues/11
2023-10-06 14:14:32 -07:00
Markus F.X.J. Oberhumer
632c7c4826
all: assorted cleanups; introduce undocumented '--sysinfo' option
2023-10-05 03:51:27 +02:00
Markus F.X.J. Oberhumer
7f9d381c7b
CI updates
2023-09-30 10:46:39 +02:00
John Reiser
d6d5e7ae3d
For Android emulator: align i386 LEXEC020 binfo
...
modified: src/stub/src/i386-linux.elf-entry.S
modified: src/p_lx_elf.cpp
modified: src/stub/i386-linux.elf-entry.h
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
2023-09-28 12:02:28 -07:00
Markus F.X.J. Oberhumer
57ad6bc37d
CI updates
2023-09-11 06:52:57 +02:00
Markus F.X.J. Oberhumer
92dfb9c83c
testsuite: add file system test suite test_symlinks.sh
2023-09-06 00:09:44 +02:00
Markus F.X.J. Oberhumer
0ac6c36af2
src: add a check for libc qsort(); cleanups
2023-09-01 11:59:29 +02:00
Markus F.X.J. Oberhumer
9d7698a359
testsuite: update checksums caused by version bump
2023-08-08 12:46:17 +02:00
John Reiser
334731f56b
Sync stubs for powerpc64le-linux.elf/upx-3.95
...
How did this mismatch happen?
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/arm64-linux.elf-so_entry.h
modified: stub/powerpc64-linux.elf-fold.h
modified: stub/powerpc64le-linux.elf-fold.h
2023-07-26 07:15:22 +02:00
Markus F.X.J. Oberhumer
641b116f04
Update .gitattributes.
2023-07-25 12:18:33 +02:00