[pull] devel from upx:devel - #51
Open
pull[bot] wants to merge 287 commits into
Open
Conversation
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
#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
force-pushed
the
devel
branch
from
August 11, 2026 06:11
b4ffe28 to
b221b5c
Compare
#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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )