Markus F.X.J. Oberhumer
0a82280f20
cmake update
2024-07-19 11:13:04 +02:00
Markus F.X.J. Oberhumer
a7fa2f87c5
cmake update
2024-07-17 12:06:41 +02:00
John Reiser
de8de9c0f0
Option --unmap-all-pages completely avoids /proc/self/exe
...
https://github.com/upx/upx/issues/749
2024-06-18 10:18:32 -07:00
John Reiser
cafd9d7ace
Sync stub checksums
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
2024-06-14 14:49:54 -07:00
Markus F.X.J. Oberhumer
3c294d9721
all: minor cleanups
2024-06-14 15:15:55 +02:00
Markus F.X.J. Oberhumer
1aff5f5bb7
all: misc cleanups
2024-06-07 22:29:57 +02:00
Markus F.X.J. Oberhumer
3495d1affd
all: minor cleanups
2024-05-28 10:26:39 +02:00
Markus F.X.J. Oberhumer
43f9b90c92
cmake update
2024-05-24 09:17:37 +02:00
Markus F.X.J. Oberhumer
ed3d7b0c45
all: minor cleanups
2024-05-11 22:07:08 +02:00
Markus F.X.J. Oberhumer
4daa2c1cde
testsuite: update checksums caused by version bump
2024-05-09 12:50:03 +02:00
Markus F.X.J. Oberhumer
7081c57571
all: post-release version bump
2024-05-09 12:44:51 +02:00
Markus F.X.J. Oberhumer
3757579ffc
all: prepare for release
2024-05-09 12:03:12 +02:00
Markus F.X.J. Oberhumer
c04c685469
src: restrict upx::atomic_exchange to pointer-size for now
2024-05-08 23:08:33 +02:00
Markus F.X.J. Oberhumer
42759b94bd
all: more clang-tidy cleanups
2024-05-08 15:12:57 +02:00
Markus F.X.J. Oberhumer
3d82f0cfe1
src: introduce upx::atomic_exchange; cleanups
2024-05-07 10:05:44 +02:00
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
6fc0a00ac8
all: update for clang-tidy-18
2024-05-06 05:40:22 +02:00
Markus F.X.J. Oberhumer
3e5ba5c064
CI updates
2024-05-05 09:35:35 +02: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
f0cb30e2b9
all: minor cleanups
2024-05-02 18:50:23 +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
8393ded1b3
CI updates
2024-05-01 13:11:12 +02:00
Markus F.X.J. Oberhumer
b0dc483165
CI updates
2024-04-29 07:53:21 +02: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
Markus F.X.J. Oberhumer
c69b4561fb
src: initialize some fields to suppress harmless valgrind errors
2024-04-24 12:36:22 +02: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
896596f672
cmake update
2024-04-20 21:08:09 +02:00
Markus F.X.J. Oberhumer
e4de14612f
CI updates
2024-04-20 12:29:32 +02:00
Markus F.X.J. Oberhumer
1d2b276425
all: improve tests
2024-04-16 15:20:56 +02:00
Markus F.X.J. Oberhumer
35c6a200ad
CI updates
2024-04-14 02:15:26 +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
ed35613d64
misc/podman/rebuild-stubs: upgrade to ubuntu-24.04
2024-04-05 20:04:23 +02:00
Markus F.X.J. Oberhumer
f5ec8363b4
CI updates
2024-04-05 18:16:29 +02:00
Markus F.X.J. Oberhumer
0f9315383c
cmake: only enable UBSAN for clang versions >= 9
2024-04-02 09:21:56 +02:00
Markus F.X.J. Oberhumer
3538d796a7
CI updates
2024-04-02 08:05:43 +02:00
Markus F.X.J. Oberhumer
24f3824524
CI updates and minor cleanups
2024-04-01 20:31:05 +02:00
Markus F.X.J. Oberhumer
70b20d7d89
CI updates
2024-03-29 12:11:41 +01: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
6e644fa480
all: post-release version bump
2024-03-28 19:47:04 +01:00
Markus F.X.J. Oberhumer
5bef968068
all: prepare for release
2024-03-27 13:57:30 +01:00
Markus F.X.J. Oberhumer
3ba91b8072
cmake update
2024-03-26 15:38:20 +01:00
Markus F.X.J. Oberhumer
a27a9e6000
all: and yet more cleanups; NFCI
2024-03-25 11:07:40 +01:00
Markus F.X.J. Oberhumer
7e839e6962
all: more cleanups; NFCI
2024-03-23 20:18:28 +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
Markus F.X.J. Oberhumer
52d9b53b74
all: minor cleanups
2024-03-08 11:52:44 +01:00
Markus F.X.J. Oberhumer
06b0de9c77
CI: work-around zig cc mips bad codegen for hard-float
2024-02-17 16:34:11 +01:00
Markus F.X.J. Oberhumer
fdcdaf596a
all: pacify clang-tidy, CI and cmake updates
2024-02-14 15:14:47 +01:00
Markus F.X.J. Oberhumer
be44cefbe7
CI updates
2024-02-13 18:29:07 +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
718ec468ff
all: more assorted cleanups; NFCI
2024-02-02 10:17:16 +01:00
Markus F.X.J. Oberhumer
5d649f83ec
all: assorted cleanups
2024-01-24 20:53:14 +01: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
9a0b5b65b8
all: remove unused scripts
2024-01-04 03:09:48 +01:00
Markus F.X.J. Oberhumer
57b2fb4c62
all: post-release version bump
2024-01-04 02:52:22 +01:00
Markus F.X.J. Oberhumer
099c3d829e
all: prepare for release.
2024-01-03 18:43:18 +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
0a3f048eed
CI updates
2023-12-29 05:14:03 +01:00
Markus F.X.J. Oberhumer
3cde897557
Improve testsuite.
2023-12-28 21:44:53 +01:00
Markus F.X.J. Oberhumer
0500e7d016
CI updates; cxxlib.h cleanups
2023-12-28 04:42:41 +01:00
Markus F.X.J. Oberhumer
778663ae69
CI updates
2023-12-21 23:01:52 +01:00
Markus F.X.J. Oberhumer
636cefb9f3
cmake update
2023-12-20 18:49:34 +01:00
Markus F.X.J. Oberhumer
1236776aa2
cmake update
2023-12-20 12:16:25 +01:00
Markus F.X.J. Oberhumer
51a6a5cca5
src: rename ptr_reinterpret_cast to ptr_static_cast; misc cleanups
2023-12-20 11:44:01 +01:00
Markus F.X.J. Oberhumer
3326c86e91
cmake update
2023-12-19 16:11:23 +01:00
Markus F.X.J. Oberhumer
decc1efb74
CI updates
2023-12-17 07:35:39 +01:00
Markus F.X.J. Oberhumer
fc6e3840b7
CI updates
2023-12-09 08:52:25 +01:00
Markus F.X.J. Oberhumer
1e6e4043ed
CI updates and minor cleanups.
2023-12-02 01:48:26 +01:00
Markus F.X.J. Oberhumer
3e70021406
all: more minor cleanups
2023-11-26 18:30:47 +01:00
Markus F.X.J. Oberhumer
bf8dd31914
all: minor cleanups
2023-11-21 20:29:54 +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
e79c790264
CI updates
2023-11-17 11:50:52 +01:00
Markus F.X.J. Oberhumer
46029bb8a0
CI updates
2023-11-15 13:06:29 +01:00
Markus F.X.J. Oberhumer
f74c225338
CI updates
2023-11-14 19:15:34 +01:00
Markus F.X.J. Oberhumer
283ab0e7ea
CI updates and assorted cleanups
2023-11-06 19:29:40 +01:00
Markus F.X.J. Oberhumer
b6dd61cea8
CI updates
2023-11-05 09:03:38 +01:00
Markus F.X.J. Oberhumer
11970d276d
CI updates
2023-11-04 06:30:07 +01:00
Markus F.X.J. Oberhumer
4f0f977f04
CI updates and cleanups
2023-11-03 17:52:46 +01:00
Markus F.X.J. Oberhumer
b2810c6deb
testsuite: update checksums caused by version bump
2023-11-01 15:12:39 +01:00
Markus F.X.J. Oberhumer
d14fa5f8a4
all: prepare for release
2023-11-01 12:00:03 +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