John Reiser
0deae5f0b8
ARM_OLDABI is no longer handled by #define
...
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/armeb.v4a-linux.elf-entry.S
modified: stub/src/armeb.v4a-linux.elf-fold.S
2024-08-25 15:16:29 -07:00
John Reiser
9ff4187fb3
filters 0x50, 0x51 use same code for unfilter
...
modified: stub/src/arm.v4a-expand.S
modified: stub/src/arm.v4a-linux.elf-fold.S
2024-08-25 15:16:29 -07:00
John Reiser
6a1e70bf40
i386 filters 0x46 and 0x49 are the same
...
modified: filter/filter_impl.cpp
modified: stub/src/arch/i386/bxx.S
2024-08-25 15:16:29 -07:00
John Reiser
d097218a45
mips.r3000, a mips-1 cpu, still has load-delay slots
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/src/mips.r3000-expand.S
modified: stub/src/mipsel.r3000-linux.elf-entry.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
2024-08-25 15:16:29 -07:00
John Reiser
cc87a2c867
ELF2 for mips 32-bit main programs
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: stub/src/include/linux.h
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/arch/mips/r3000/lzma_d.S
modified: stub/src/arch/mips/r3000/macros.ash
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: stub/src/arm.v4a-linux.elf-main2.c
modified: stub/src/arm.v4a-linux.elf-so_fold.lds
modified: stub/src/arm.v5a-linux.elf-so_fold.lds
modified: stub/src/arm64-linux.elf-so_fold.lds
modified: stub/src/i386-expand.S
modified: stub/src/i386-linux.elf-entry.lds
modified: stub/src/i386-linux.elf-main2.c
modified: stub/src/i386-linux.elf-so_fold.lds
new file: stub/src/mips.r3000-expand.S
new file: stub/src/mips.r3000-linux.elf-entry.lds
modified: stub/src/mips.r3000-linux.elf-fold.S
modified: stub/src/mips.r3000-linux.elf-fold.lds
new file: stub/src/mips.r3000-linux.elf-main2.c
new file: stub/src/mipsel.r3000-expand.S
modified: stub/src/mipsel.r3000-linux.elf-entry.S
new file: stub/src/mipsel.r3000-linux.elf-entry.lds
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: stub/src/mipsel.r3000-linux.elf-fold.lds
new file: stub/src/mipsel.r3000-linux.elf-main2.c
modified: stub/src/mipsel.r3000-linux.shlib-init.S
modified: stub/src/powerpc-linux.elf-fold.lds
modified: stub/src/upxfd_android.c
plus generated *.h *.map *.dump
2024-08-25 15:16:29 -07:00
John Reiser
b26ba9c4d3
ELF2 stragglers from stub make
...
modified: stub/powerpc-linux.elf-fold.h
modified: stub/tmp/powerpc-linux.elf-fold.map
2024-08-25 15:16:29 -07:00
John Reiser
88c94d1cc0
ELF2 for powerpc (32-bit) main programs
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/arch/powerpc/32/macros.S
modified: stub/src/i386-linux.elf-main2.c
new file: stub/src/powerpc-expand.S
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-fold.lds
new file: stub/src/powerpc-linux.elf-main2.c
modified: stub/src/powerpc64-linux.elf-fold.S
plus generated *.h *.map *.dump
interactive rebase in progress; onto ac82d473
Last commands done (17 commands done):
pick 1b9ddea5 ELF2 arm32-linux unmap_all_pages
pick 1f372e54 ELF2 for powerpc (32-bit) main programs
Next commands to do (10 remaining commands):
pick 5f5849a9 ELF2 stragglers from stub make
pick 2ba8b5da ELF2 for mips 32-bit main programs
You are currently rebasing branch 'jreiser-ELF2' on 'ac82d473'.
Changes to be committed:
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: src/p_lx_elf.cpp
modified: src/stub/Makefile
modified: src/stub/powerpc-linux.elf-entry.h
modified: src/stub/powerpc-linux.elf-fold.h
modified: src/stub/powerpc64-linux.elf-fold.h
modified: src/stub/powerpc64le-linux.elf-fold.h
modified: src/stub/src/arch/powerpc/32/macros.S
modified: src/stub/src/i386-linux.elf-main2.c
new file: src/stub/src/powerpc-expand.S
modified: src/stub/src/powerpc-linux.elf-entry.S
modified: src/stub/src/powerpc-linux.elf-fold.S
modified: src/stub/src/powerpc-linux.elf-fold.lds
new file: src/stub/src/powerpc-linux.elf-main2.c
modified: src/stub/src/powerpc64-linux.elf-fold.S
modified: src/stub/tmp/powerpc-linux.elf-entry.bin.dump
modified: src/stub/tmp/powerpc-linux.elf-fold.map
modified: src/stub/tmp/powerpc64-linux.elf-fold.map
modified: src/stub/tmp/powerpc64le-linux.elf-fold.map
2024-08-25 15:16:29 -07:00
John Reiser
6cda0b6016
ELF2 arm32-linux unmap_all_pages
...
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/powerpc-linux.elf-entry.S
plus generated *.h *.map *.dump
2024-08-25 15:16:29 -07:00
John Reiser
66dc1d90d8
ELF2 for arm32
...
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/arm.v4a-linux.elf-entry.S
new file: stub/src/arm.v4a-linux.elf-entry.lds
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: stub/src/arm.v4a-linux.elf-fold.lds
new file: stub/src/arm.v4a-linux.elf-main2.c
new file: stub/src/arm.v4a-linux.elf-so_entry.lds
new file: stub/src/arm.v5a-linux.elf-entry.lds
new file: stub/src/arm.v5a-linux.elf-fold.lds
new file: stub/src/arm.v5a-linux.elf-main2.c
new file: stub/src/arm.v5a-linux.elf-so_entry.lds
new file: stub/src/armeb.v4a-expand.S
new file: stub/src/armeb.v4a-linux.elf-entry.lds
modified: stub/src/armeb.v4a-linux.elf-fold.lds
new file: stub/src/armeb.v4a-linux.elf-main2.c
new file: stub/src/armeb.v4a-linux.elf-so_main2.c
modified: stub/src/i386-linux.elf-main2.c
plus generated *.h *.map *.dump
2024-08-25 15:16:29 -07:00
John Reiser
f7cab0cf71
ELF2 for i386-linux main programs
...
OpenBSD and NetBSD main programs probably need work.
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/i386-linux.elf-entry.S
new file: stub/src/i386-linux.elf-entry.lds
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/i386-linux.elf-fold.lds
new file: stub/src/i386-linux.elf-main2.c
new file: stub/src/i386-linux.elf-so_entry.lds
modified: stub/src/upxfd_android.c
plus generated *.h *.map *.dump
2024-08-25 15:16:29 -07:00
John Reiser
83e2df4c46
Fix pwerpc64 lzma stub
...
modified: stub/src/arch/powerpc/64/lzma_d.S
interactive rebase in progress; onto ac82d473
Last commands done (13 commands done):
pick 821c9dcc ELF2: FIx powerpc64* lzma
pick ad3d6786 Fix pwerpc64 lzma stub
Next commands to do (14 remaining commands):
pick 8389340b ELF2 for i386-linux main programs
pick 921d6ad3 ELF2 for arm32
You are currently rebasing branch 'jreiser-ELF2' on 'ac82d473'.
Changes to be committed:
modified: src/stub/powerpc64-linux.elf-fold.h
modified: src/stub/src/arch/powerpc/64/lzma_d.S
modified: src/stub/tmp/powerpc64-linux.elf-fold.map
2024-08-25 15:16:29 -07:00
John Reiser
31216ed1b2
ELF2: FIx powerpc64* lzma
...
also follow-ons for https://github.com/upx/upx/issues/834
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/amd64-linux.elf-main2.c
modified: stub/src/arch/powerpc/64le/lzma_d-common.S
modified: stub/src/arch/powerpc/64le/lzma_d.S
modified: stub/src/arch/powerpc/64le/ppc_regs.h
modified: stub/src/powerpc64-expand.S
modified: stub/src/powerpc64-linux.elf-fold.S
plus generated *.h *.map *.dump
interactive rebase in progress; onto ac82d473
Last commands done (12 commands done):
pick d6a29e58 CI updates
pick 821c9dcc ELF2: FIx powerpc64* lzma
Next commands to do (15 remaining commands):
pick ad3d6786 Fix pwerpc64 lzma stub
pick 8389340b ELF2 for i386-linux main programs
You are currently rebasing branch 'jreiser-ELF2' on 'ac82d473'.
Changes to be committed:
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: src/stub/powerpc64-linux.elf-fold.h
modified: src/stub/powerpc64le-linux.elf-fold.h
2024-08-25 15:16:29 -07:00
John Reiser
e9930bb2bc
ELF2: Move section EXP_TAIL to catch case of no matching de-compressor
...
Also adjust blocksize for large gap (.p_align - .p_filesz)
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/src/amd64-expand.S
modified: stub/src/arm64-expand.S
modified: stub/src/powerpc64-expand.S
plus generated *.h *.map *.dump
2024-08-25 15:16:29 -07:00
John Reiser
c8a0540fd2
ELF2: FIx powerpc64* lzma
...
also follow-ons for https://github.com/upx/upx/issues/834
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/amd64-linux.elf-main2.c
modified: stub/src/arch/powerpc/64le/lzma_d-common.S
modified: stub/src/arch/powerpc/64le/lzma_d.S
modified: stub/src/arch/powerpc/64le/ppc_regs.h
modified: stub/src/powerpc64-expand.S
modified: stub/src/powerpc64-linux.elf-fold.S
plus generated *.h *.map *.dump
2024-08-25 15:16:29 -07:00
John Reiser
a9b7a0cb27
ELF2: use "gcc -E" instead of /lib/cpp
...
modified: Makefile
2024-08-25 15:16:29 -07:00
John Reiser
c0ff491972
ELF2 for PowerPC64 forgot to add new files
...
new file: src/powerpc64-expand.S
new file: src/powerpc64-linux.elf-main2.c
new file: src/powerpc64le-expand.S
new file: src/powerpc64le-linux.elf-main2.c
2024-08-25 15:16:29 -07:00
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
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
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
03c4184067
all: misc cleanups
2024-07-23 12:24:09 +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
RainRat
62265a1bc9
fix typos
2024-05-07 01:41:41 -07: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
f0cb30e2b9
all: minor cleanups
2024-05-02 18:50:23 +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
ddf2da3d76
cmake: run tests in parallel; misc/podman: add 30-rebuild-stubs.sh
2024-04-26 10:36:01 +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
John Reiser
9fb64ded10
Syscall on powerpc linux wipes arg registers, unlike x86_64
...
Also squeaky-clean 'get_page_mask' for I/D cache consistency.
https://github.com/upx/upx/issues/813
modified: stub/powerpc-linux.elf-entry.h
modified: stub/powerpc-linux.elf-fold.h
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/tmp/powerpc-linux.elf-entry.bin.dump
modified: stub/tmp/powerpc-linux.elf-fold.map
2024-04-21 19:46:05 -07: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
bb816f0c74
arm64 --nrv2d preserve sign when decoding offset
...
https://github.com/upx/upx/issues/806
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
modified: src/stub/src/arch/arm64/v8/nrv2d_d32.S
2024-04-06 16:16:28 -07:00
John Reiser
93abe97ea5
powerpc64le --nrv2d register conflict
...
modified: stub/powerpc64-darwin.dylib-entry.h
modified: stub/powerpc64-darwin.macho-entry.h
modified: stub/powerpc64-linux.elf-entry.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/powerpc64le-linux.kernel.vmlinux.h
modified: stub/src/arch/powerpc/64le/nrv2d_d.S
modified: stub/src/arch/powerpc/64le/nrv2e_d.S
https://github.com/upx/upx/issues/806
2024-04-06 16:16:28 -07:00
Markus F.X.J. Oberhumer
f29791470f
all: yet more cleanups
2024-03-10 16:23:06 +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
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
47fc230893
all: welcome 2024
2024-01-03 17:47:25 +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
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