John Reiser
146c105961
ELF2 for PowerPC64
...
(MacOS temporarily disabled)
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/arch/powerpc/64/macros.S
modified: stub/src/arch/powerpc/64le/bxx.S
modified: stub/src/arch/powerpc/64le/macros.S
modified: stub/src/arch/powerpc/64le/ppc_regs.h
new file: stub/src/dollar-dollar.sed
modified: stub/src/powerpc64-linux.elf-entry.S
modified: stub/src/powerpc64-linux.elf-fold.S
modified: stub/src/powerpc64-linux.elf-fold.lds
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-fold.lds
modified: stub/src/powerpc64le-linux.kernel.vmlinux.S
plus generated *.h *.map *.dump
2024-08-25 15:16:29 -07:00
John Reiser
35fca2062e
ELF2 arm64: fix exit from lzma de-compressor
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: linker.cpp
modified: stub/src/arch/arm64/v8/lzma_d.S
modified: stub/src/arm64-expand.S
plus generated *.h *.map *.dump
2024-08-25 15:16:29 -07:00
John Reiser
2c4e5c7a47
arm64-expand code for nrv* EOF at de-compress is not quite uniform
...
WINDOWS_BACK requirement also interferes.
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/src/arch/arm64/v8/nrv2d_d32.S
modified: stub/src/arch/arm64/v8/nrv2e_d32.S
modified: stub/src/arm64-expand.S
plus generated *.h, *.map
2024-08-25 15:16:29 -07:00
John Reiser
e561da33bd
ELF2 64-bits: Use /dev/shm (O_TMPFILE) if memfd_create fails
...
Such as Ubuntu-20.04, Linux kernel 5.15.0-67, #74-20.04.1, 2023-02-22
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/Makefile
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/amd64-linux.elf-main2.c
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/upxfd_android.c
plus generated *.h *.map *.dump
2024-08-25 15:16:28 -07:00
John Reiser
5f6bdb0a8f
ELF2 for arm64 main programs
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/Makefile
modified: stub/src/amd64-expand.S
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-main2.c
modified: stub/src/arch/amd64/lzma_d.S
modified: stub/src/arch/amd64/nrv2b_d.S
modified: stub/src/arch/amd64/nrv2d_d.S
modified: stub/src/arch/amd64/nrv2e_d.S
modified: stub/src/arch/arm64/v8/lzma_d.S
modified: stub/src/arch/arm64/v8/macros.S
modified: stub/src/arch/arm64/v8/nrv2b_d32.S
modified: stub/src/arch/arm64/v8/nrv2d_d32.S
modified: stub/src/arch/arm64/v8/nrv2e_d32.S
modified: stub/src/arm64-expand.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
plus generated *.h *.map *.dump
2024-08-25 15:16:28 -07:00
John Reiser
6276a4a7c4
ELF2 for arm64 main programs
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-main2.c
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-fold.lds
new file: stub/src/arm64-linux.elf-main2.c
plus generated *.h *.dump *.map
2024-08-25 15:16:28 -07:00
John Reiser
4fa50b96ad
Disable macos-12 from running upx-packed [temporary]
...
macOS-12.7.5 lldb complains "Bad executable" for any packed.
modified: .github/workflows/ci.yml
2024-08-25 15:16:28 -07:00
John Reiser
5aef158ff0
ELF2: Fix EINVAL when PT_LOAD does not start on page boundary
...
modified: stub/src/amd64-linux.elf-main2.c
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
plus generated .h .map
2024-08-25 15:16:28 -07:00
John Reiser
4054ac192a
ELF2: memcheck avoids extra safety bytes
...
modified: stub/src/amd64-linux.elf-entry.S
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
plus generated .h and .dump
2024-08-25 15:16:28 -07:00
John Reiser
febe8e4d9e
whitespace
...
modified: stub/src/arch/amd64/lzma_d.S
2024-08-25 15:16:28 -07:00
John Reiser
c924c32d54
ELF2: fix lzma on amd64-linux.elf-*
...
New -DWINDOWS_BACK so that amd64-win64.pe.h does not change.
This hides a real bug (unchecked), but would change anti-virus status.
modified: src/stub/src/amd64-expand.S
modified: src/stub/src/amd64-linux.elf-entry.S
modified: src/stub/src/amd64-linux.elf-fold.S
modified: src/stub/src/arch/amd64/lzma_d.S
modified: src/stub/Makefile
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
plus generated *.h, *.map, *.dump
2024-08-25 15:16:28 -07:00
John Reiser
743eb5cc26
whitespace
...
modified: p_lx_elf.cpp
2024-08-25 15:16:28 -07:00
John Reiser
f4585cdf77
Sync stubs
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
2024-08-25 15:16:28 -07:00
John Reiser
c36977f0b1
ELF: amd64-linux main programs use 2-step de-compressor
...
The first $ARCH to move to 2-step de-compressor for ELF main programs.
De-compressor uses memfd_create to comply with strictest SELinux
settings (no PROT_WRITE on any PROT_EXEC page).
First step de-compressor always uses NRV2B to de-compress the second step,
and the second step can use a different de-compressor for each PT_LOAD.
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/amd64-linux.elf-fold.lds
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-fold.S
new file: stub/src/amd64-linux.elf-main2.c
modified: stub/amd64-linux.elf-entry.h
modified: stub/amd64-linux.elf-fold.h
modified: stub/tmp/amd64-linux.elf-entry.bin.dump
modified: stub/tmp/amd64-linux.elf-fold.map
2024-08-25 15:16:28 -07:00
Markus F.X.J. Oberhumer
44e4bd0b54
CI updates
2024-08-19 07:55:57 +02:00
Markus F.X.J. Oberhumer
1427b8137a
CI updates
2024-08-13 11:32:29 +02:00
Markus F.X.J. Oberhumer
a9cb354225
CI and cmake updates
2024-08-07 13:37:38 +02:00
Markus F.X.J. Oberhumer
b4db17ab3c
cmake update
2024-07-31 18:56:32 +02:00
Markus F.X.J. Oberhumer
ba969fb9f2
CI updates
2024-07-31 09:24:33 +02:00
Markus F.X.J. Oberhumer
87ac252c8d
CI updates
2024-07-30 17:22:52 +02:00
Markus F.X.J. Oberhumer
ada9081ea2
CI updates
2024-07-28 18:01:54 +02:00
Markus F.X.J. Oberhumer
d6a29e582f
CI updates
2024-07-25 13:08:15 +02:00
Markus F.X.J. Oberhumer
03c4184067
all: misc cleanups
2024-07-23 12:24:09 +02:00
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
Markus F.X.J. Oberhumer
3a11a5a82e
CI updates
2024-07-13 12:49:02 +02:00
John Reiser
08a38af553
Workaround bug in Alpine Linux
...
"empty" DT_GNU_HASH lacked hasharr[0] when n_bucket==1,
which upx correctly detected as malformed.
modified: p_lx_elf.cpp
2024-07-02 11:24:27 -07:00
Markus F.X.J. Oberhumer
043a54cf3e
all: minor cleanups
2024-07-10 10:34:58 +02:00
Markus F.X.J. Oberhumer
16c8f6d160
src: portability updates
2024-07-07 14:50:27 +02:00
Markus F.X.J. Oberhumer
285472bc78
submodules: update for new versions
2024-07-07 14:16:49 +02:00
Markus F.X.J. Oberhumer
a77adcd4c7
src: new ACC version
2024-07-01 18:25:54 +02:00
John Reiser
cebd4392f2
Fix checksum error de-compressing ELF with large .p_align and small blocksize
...
https://github.com/upx/upx/issues/836
modified: p_unix.cpp
2024-07-05 19:06:14 -07:00
John Reiser
64a3de5a7a
FIX PT_GNU_HASH when "empty"
...
... such as a main program with no exported globals
https://github.com/upx/upx/issues/834
modified: p_lx_elf.cpp
2024-06-28 09:04:05 -07:00
Markus F.X.J. Oberhumer
261609f706
CI updates
2024-06-26 11:45:35 +02:00
Markus F.X.J. Oberhumer
17cf73001c
CI updates
2024-06-21 18:19:59 +02:00
Markus F.X.J. Oberhumer
ad566d793a
CI updates
2024-06-20 10:49:09 +02:00
Markus F.X.J. Oberhumer
b499ed3d20
CI updates
2024-06-19 00:20:35 +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
3b36dce5c2
Mention PT_MIPS_ABIFLAGS forwarding
...
https://github.com/upx/upx/issues/788
modified: NEWS
2024-06-17 08:50:54 -07:00
Markus F.X.J. Oberhumer
dcd8dfd5fc
CI: add zigcc linux-mips soft-float targets
2024-06-17 10:28:53 +02:00
Markus F.X.J. Oberhumer
78f3b6297c
src/pefile.cpp: default to strict reloc checks
2024-06-17 09:35:31 +02:00
Markus F.X.J. Oberhumer
a49fe3b04a
CI: remove zigcc linux-mips workaround
2024-06-17 08:55:21 +02:00
Markus F.X.J. Oberhumer
f23cc7daa3
CI update: remove macos-11 runner
2024-06-15 18:16:58 +02:00
John Reiser
cafd9d7ace
Sync stub checksums
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
2024-06-14 14:49:54 -07:00
John Reiser
1b6c120864
64-bit phdrx[], PT_NOTE, PT_GNU_STACK
...
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2024-06-13 15:32:51 -07:00
John Reiser
99afc50ebf
PT_MIPS_ABIFLAGS, PT_MIPS_REGINFO
...
Also re-org of PT_HOTE and other non-PT_LOAD Elf32_Phdrs
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2024-06-13 09:58:20 -07:00
John Reiser
3286f7c5ba
De-compression of PT_MIPS_ABIFLAGS
...
modified: p_lx_elf.cpp
2024-06-11 20:03:44 -07:00
John Reiser
72ccca9faf
PT_MIPS_ABIFLAGS, compression side only, 32-bit only
...
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2024-06-11 15:02:13 -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