Skip to content

[pull] devel from upx:devel - #51

Open
pull[bot] wants to merge 287 commits into
dolfly:develfrom
upx:devel
Open

[pull] devel from upx:devel#51
pull[bot] wants to merge 287 commits into
dolfly:develfrom
upx:devel

Conversation

@pull

@pull pull Bot commented Dec 14, 2025

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

jreiser and others added 30 commits December 11, 2025 09:36
Use registers x8-x15 as much as possible in order to save space
by using RVC compressed instructions.
Currently: a conflict about x5 between elf-entry and elf-main2.
	modified:   stub/Makefile
	modified:   stub/src/amd64-linux.elf-main2.c
	modified:   stub/src/arch/riscv/64/nrv2b_d.S
	modified:   stub/src/riscv64-expand.S
	modified:   stub/src/riscv64-getbit.S
	modified:   stub/src/riscv64-getbit.h
	modified:   stub/src/riscv64-linux.elf-entry.S
	modified:   stub/src/riscv64-linux.elf-fold.S
nrv2b only; also needs cleanup for no filtering
	modified:   stub/src/amd64-linux.elf-main2.c
	modified:   stub/src/arch/riscv/64/nrv2b_d.S
	modified:   stub/src/riscv64-expand.S
	modified:   stub/src/riscv64-linux.elf-entry.S
	modified:   stub/src/riscv64-linux.elf-fold.S
	modified:   stub/src/riscv64-linux.elf-main2.c
but execution of de-compressed testcase fails with:
Inconsistency detected by ld.so: rtld.c: 1683: dl_main: Assertion `GL(dl_rtld_map).l_libname->next == NULL failed!
	modified:   stub/src/amd64-linux.elf-main2.c
	modified:   stub/src/riscv64-linux.elf-fold.S
	modified:   stub/riscv64-linux.elf-entry.h
	modified:   stub/riscv64-linux.elf-fold.h
	modified:   stub/src/amd64-linux.elf-main2.c
	modified:   stub/src/arch/riscv/64/nrv2b_d.S
	modified:   stub/src/riscv64-expand.S
	modified:   stub/src/riscv64-getbit.S
	modified:   stub/src/riscv64-linux.elf-entry.S
	modified:   stub/src/riscv64-linux.elf-fold.S
Also lzma for riscv64 was compiled (but not glued-in)
	modified:   p_lx_elf.cpp
	modified:   packer.cpp
	modified:   stub/src/arch/riscv/64/Makefile.extra
	modified:   stub/src/arch/riscv/64/bxx.S
	modified:   stub/src/arch/riscv/64/lzma_d_cf.S
	modified:   stub/src/arch/riscv/64/lzma_d_cn.S
	modified:   stub/src/arch/riscv/64/lzma_d_cs.S
	modified:   stub/src/arch/riscv/64/nrv2b_d.S
	modified:   stub/src/arch/riscv/64/nrv2d_d.S
	modified:   stub/src/arch/riscv/64/nrv2e_d.S
	modified:   stub/src/riscv64-expand.S
	modified:   stub/src/riscv64-getbit.h
	modified:   stub/src/riscv64-linux.elf-fold.S
	   plus generated *.h
	modified: README.SRC
	modified: src/stub/Makefile
	modified: src/stub/src/amd64-linux.elf-main2.c
	modified:   README.SRC
	modified:   src/stub/src/amd64-linux.elf-main2.c
	modified:   src/stub/src/riscv64-linux.elf-fold.S
(gdb) bt
    at ./elf/rtld.c:1783
    dl_main=dl_main@entry=0x2aaaab2bfcf0 <dl_main>) at ../sysdeps/unix/sysv/linux/dl-sysdep.c:140

	modified:   src/stub/src/amd64-linux.elf-main2.c
	modified:   src/stub/src/riscv64-linux.elf-entry.S
	modified:   src/stub/src/riscv64-linux.elf-fold.S
"gcc -O" was buggy.  Also minor tweaks.
	modified:   src/stub/Makefile
	modified:   src/stub/src/amd64-linux.elf-main2.c
	modified:   src/stub/src/riscv64-linux.elf-fold.S
	   plus generated .h .map
	modified:   src/stub/src/arch/riscv/64/lzma_d.S
	modified:   src/stub/src/riscv64-expand.S
NYI on riscv64:
  PC-relative filtering of AUIPC and JAL for tighter compression
  LZMA debugging

	modified:   p_lx_elf.cpp
	modified:   stub/riscv64-linux.elf-entry.h
	modified:   stub/riscv64-linux.elf-fold.h
	modified:   stub/src/arch/riscv/64/Makefile.extra
	modified:   stub/src/arch/riscv/64/lzma_d.S
	modified:   stub/src/arch/riscv/64/lzma_d_cf.S
	modified:   stub/src/arch/riscv/64/lzma_d_cn.S
	modified:   stub/src/arch/riscv/64/lzma_d_cs.S
	modified:   stub/src/arch/riscv/64/nrv2b_d.S
	modified:   stub/src/arch/riscv/64/nrv2d_d.S
	modified:   stub/src/arch/riscv/64/nrv2e_d.S
	modified:   stub/src/riscv64-expand.S
	modified:   stub/src/riscv64-getbit.S
	modified:   stub/src/riscv64-getbit.h
gcc-riscv64-linux-gnu  binutils-riscv64-linux-gnu
	modified:   .github/workflows/ci.yml

Including minor clang-format adjustments:
	modified:   src/linker.cpp
	modified:   src/packer.cpp
	modified:   src/packer.h
gcc-riscv64-linux-gnu  binutils-riscv64-linux-gnu
	modified:   .github/workflows/ci.yml
	modified:   src/stub/src/arch/riscv/64/Makefile.extra
	modified:   src/stub/src/arch/riscv/64/lzma_d_cf.S
	modified:   src/stub/src/arch/riscv/64/lzma_d_cn.S
	modified:   src/stub/src/arch/riscv/64/lzma_d_cs.S

Including minor clang-format adjustments:
	modified:   src/linker.cpp
	modified:   src/packer.cpp
	modified:   src/packer.h
gcc-riscv64-linux-gnu  binutils-riscv64-linux-gnu
	modified:   .github/workflows/ci.yml
	modified:   src/stub/src/arch/riscv/64/Makefile.extra
	modified:   src/stub/src/arch/riscv/64/lzma_d_cf.S
	modified:   src/stub/src/arch/riscv/64/lzma_d_cn.S
	modified:   src/stub/src/arch/riscv/64/lzma_d_cs.S
	modified:   src/stub/riscv64-linux.elf-fold.h

Including minor clang-format adjustments:
	modified:   src/linker.cpp
	modified:   src/packer.cpp
	modified:   src/packer.h
gcc-riscv64-linux-gnu  binutils-riscv64-linux-gnu
	modified:   .github/workflows/ci.yml
	modified:   src/stub/src/arch/riscv/64/Makefile.extra
	modified:   src/stub/src/arch/riscv/64/lzma_d_cf.S
	modified:   src/stub/src/arch/riscv/64/lzma_d_cn.S
	modified:   src/stub/src/arch/riscv/64/lzma_d_cs.S
	modified:   src/stub/riscv64-linux.elf-fold.h
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh

Including minor clang-format adjustments:
	modified:   src/linker.cpp
	modified:   src/packer.cpp
	modified:   src/packer.h
	modified:   stub/scripts/bin2h.py
	modified:   stub/scripts/brandelf.py
	modified:   stub/scripts/gpp_inc.py
	modified:   stub/scripts/xstrip.py
	modified:   scripts/brandelf.py
	modified:   scripts/gpp_inc.py
	modified:   src/arch/i086/cleanasm.py
Need i386 version of zlib, updated libmfpr.so, g++ (not clang++).
#938
	modified:   README.SRC
Old b_info without .b_method
#942
        modified:   p_unix.cpp
	modified:   src/p_lx_elf.cpp
netliomax25-code and others added 24 commits July 9, 2026 17:22
#18898
	modified:   misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   src/stub/src/amd64-linux.elf-main2.c
	modified:   src/stub/src/i386-linux.elf-main2.c
	modified:   src/stub/src/powerpc64-expand.S
	modified:   src/stub/Makefile
          plus generated stub/*.h, *.map
#18898
	modified:   misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   src/stub/src/amd64-linux.elf-main2.c
	modified:   src/stub/src/i386-linux.elf-main2.c
	modified:   src/stub/src/powerpc64-expand.S
	modified:   src/stub/Makefile
          plus generated stub/*.h, *.map
#18898
	modified:   misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   src/stub/src/amd64-linux.elf-main2.c
	modified:   src/stub/src/i386-linux.elf-main2.c
	modified:   src/stub/src/powerpc64-expand.S
	new file:   src/stub/src/powerpc64le-linux.elf-help_umf.S
	modified:   src/stub/Makefile
          plus generated stub/*.h, *.map
Also pacify valgrind for unused space at end of escape hatch.
#18898

	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   stub/src/i386-linux.elf-so_main.c
	modified:   stub/src/i386-linux.elf-main2.c
	modified:   stub/src/amd64-linux.elf-so_main.c
	modified:   stub/src/amd64-linux.elf-main2.c
          plus generated *.h, *.map
	modified:   stub/src/arm64-linux.elf-entry.S
#18897  (PE portion)
	modified:   src/p_w32pe_i386.cpp
	modified:   src/p_w32pe_i386.h
	modified:   src/p_w64pe_amd64.cpp
	modified:   src/p_w64pe_amd64.h
	modified:   src/p_w64pe_arm64.cpp
	modified:   src/p_w64pe_arm64.h
	modified:   src/p_wince_arm.cpp
	modified:   src/p_wince_arm.h
	modified:   src/pefile.cpp
	modified:   src/pefile.h

          plus artifacts of flubbed rebasing:
	modified:   src/stub/riscv64-linux.elf-so_fold.h
	modified:   src/stub/src/amd64-linux.elf-so_main.c
	modified:   src/stub/src/i386-linux.elf-so_main.c
	modified:   misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   p_lx_elf.cpp
	modified:   filter/filter_impl.cpp
	modified:   src/stub/src/amd64-linux.elf-so_main.c
	modified:   src/stub/src/i386-linux.elf-so_main.c
	modified:   src/stub/mips.r3000-linux.elf-so_fold.h
	modified:   src/stub/mipsel.r3000-linux.elf-so_fold.h
markus-oberhumer and others added 5 commits August 13, 2026 14:56
#958
	modified:   misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   src/stub/amd64-linux.elf-fold.h
	modified:   src/stub/src/amd64-linux.elf-fold.S
	modified:   src/stub/tmp/amd64-linux.elf-fold.map
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull merge-conflict Resolve conflicts manually

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants