From c2da21ba4e4d49287e206406a1de32a1c565aa9d Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Wed, 5 Mar 2025 12:13:21 +0100 Subject: [PATCH] CI updates --- .github/workflows/ci.yml | 22 +-- misc/podman/rebuild-stubs/packages.txt | 194 +++++++++++++------------ misc/testsuite/upx_testsuite_1.sh | 2 +- src/check/dt_check.cpp | 1 + src/main.cpp | 2 +- src/version.h | 2 +- 6 files changed, 115 insertions(+), 108 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4e9df529..c8f88db9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,14 +13,15 @@ env: CMAKE_VERBOSE_MAKEFILE: 'ON' CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive + NO_COLOR: 1 UPX_CMAKE_BUILD_FLAGS: --verbose UPX_CMAKE_CONFIG_FLAGS: -Wdev --warn-uninitialized UPX_CONFIG_HAVE_WORKING_BUILD_RPATH: 'ON' UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO: 1 UPX_DEBUG_TEST_LIBC_QSORT: 1 ZSTD_CLEVEL: 9 - # 2025-02-18 - ZIG_DIST_VERSION: 0.14.0-dev.3258+d2e70ef84 + # 2025-03-05 + ZIG_DIST_VERSION: 0.14.0 jobs: job-rebuild-and-verify-stubs: @@ -81,7 +82,7 @@ jobs: fail-fast: false matrix: include: - - { os: ubuntu-20.04, use_extra: true } + # { os: ubuntu-20.04, use_extra: true } - { os: ubuntu-22.04, use_extra: true, use_wine: true } - { os: ubuntu-24.04, use_extra: true, use_wine: true } name: ${{ format('{0}', matrix.os) }} @@ -237,7 +238,7 @@ jobs: echo "UPX_DEBUG_FORCE_PACK_MACOS=1" >> $GITHUB_ENV case "${{ matrix.os }}" in # TODO FIXME: UPX on macos-13+ is broken => disable run-packed for now - macos-13 | macos-14 | macos-15) echo "UPX_CONFIG_DISABLE_RUN_PACKED_TEST=ON" >> $GITHUB_ENV ;; + macos-1[345]) echo "UPX_CONFIG_DISABLE_RUN_PACKED_TEST=ON" >> $GITHUB_ENV ;; esac - uses: actions/checkout@v4 with: { submodules: true } @@ -560,18 +561,21 @@ jobs: # update ZIG_TARGET ZIG_TARGET=${ZIG_TARGET/i386-/x86-} # i386 => x86 echo "ZIG_TARGET=$ZIG_TARGET" >> $GITHUB_ENV + # update ZIG_FLAGS # -fPIE is for compilation only => also use the correct linker flag "-pie" # INFO: it seems the zig driver does handle this automatically(??), so not really needed if test "X$ZIG_PIC" = "X-fPIE"; then true; ZIG_FLAGS="$ZIG_FLAGS --start-no-unused-arguments -pie --end-no-unused-arguments" echo "UPX_CONFIG_DISABLE_SHARED_LIBS=ON" >> $GITHUB_ENV # conflicts with ZIG_PIC/ZIG_FLAGS fi - # zig bug TODO later: need -Wno-unused-command-line-argument - case "$ZIG_TARGET" in - powerpc*) ZIG_FLAGS="$ZIG_FLAGS -Wno-unused-command-line-argument" ;; - esac + if [[ $ZIG_TARGET == *-linux-gnu.2.3.* ]]; then true; + # glibc-2.3.3: undefined symbols in Debug build: __snprintf_chk __vsnprintf_chk + # glibc-2.3.4: ld.lld: error: undefined symbol: openat64 + ZIG_FLAGS="$ZIG_FLAGS -fno-sanitize=all" + echo "UPX_CONFIG_DISABLE_SANITIZE=ON" >> $GITHUB_ENV + fi echo "ZIG_FLAGS=$ZIG_FLAGS" >> $GITHUB_ENV - # run: set -x; zig version; zig-cc --version; zig-cxx --version + #- run: set -x; zig version; zig-cc --version; zig-cxx --version - run: zig-cc -E -x c -dM /dev/null # list predefined macros for C - run: zig-cxx -E -x c++ -dM /dev/null # list predefined macros for C++ - name: ${{ format('Build Release with zig-cc -target {0} {1}', env.ZIG_TARGET, env.ZIG_PIC) }} diff --git a/misc/podman/rebuild-stubs/packages.txt b/misc/podman/rebuild-stubs/packages.txt index f287e01d..4bd2faa4 100644 --- a/misc/podman/rebuild-stubs/packages.txt +++ b/misc/podman/rebuild-stubs/packages.txt @@ -4,17 +4,17 @@ Desired=Unknown/Install/Remove/Purge/Hold ii 7zip 23.01+dfsg-11 amd64 7-Zip file archiver with a high compression ratio ii apt 2.7.14build2 amd64 commandline package manager ii aria2 1.37.0+debian-1build3 amd64 High speed download utility -ii base-files 13ubuntu10.1 amd64 Debian base system miscellaneous files +ii base-files 13ubuntu10.2 amd64 Debian base system miscellaneous files ii base-passwd 3.6.3build1 amd64 Debian base system master password and group files ii bash 5.2.21-2ubuntu4 amd64 GNU Bourne Again SHell ii bash-completion 1:2.11-8 all programmable completion for the bash shell ii bat 0.24.0-1build1 amd64 cat(1) clone with syntax highlighting and git integration ii bfs 3.1.2-1build1 amd64 Breadth-first version of find(1) -ii binutils 2.42-4ubuntu2.3 amd64 GNU assembler, linker and binary utilities -ii binutils-common:amd64 2.42-4ubuntu2.3 amd64 Common files for the GNU assembler, linker and binary utilities -ii binutils-x86-64-linux-gnu 2.42-4ubuntu2.3 amd64 GNU binary utilities, for x86-64-linux-gnu target -ii bsdextrautils 2.39.3-9ubuntu6.1 amd64 extra utilities from 4.4BSD-Lite -ii bsdutils 1:2.39.3-9ubuntu6.1 amd64 basic utilities from 4.4BSD-Lite +ii binutils 2.42-4ubuntu2.4 amd64 GNU assembler, linker and binary utilities +ii binutils-common:amd64 2.42-4ubuntu2.4 amd64 Common files for the GNU assembler, linker and binary utilities +ii binutils-x86-64-linux-gnu 2.42-4ubuntu2.4 amd64 GNU binary utilities, for x86-64-linux-gnu target +ii bsdextrautils 2.39.3-9ubuntu6.2 amd64 extra utilities from 4.4BSD-Lite +ii bsdutils 1:2.39.3-9ubuntu6.2 amd64 basic utilities from 4.4BSD-Lite ii btop 1.3.0-1 amd64 Modern and colorful command line resource monitor that shows usage and stats ii bubblewrap 0.9.0-1ubuntu0.1 amd64 utility for unprivileged chroot and namespace manipulation ii busybox 1:1.36.1-6ubuntu3.1 amd64 Tiny utilities for small and embedded systems @@ -41,7 +41,7 @@ ii diffutils 1:3.10-1build1 amd64 ii direnv 2.32.1-2ubuntu0.24.04.2 amd64 Utility to set directory specific environment variables ii dpkg 1.22.6ubuntu6.1 amd64 Debian package management system ii e2fsprogs 1.47.0-2.4~exp1ubuntu4.1 amd64 ext2/ext3/ext4 file system utilities -ii elfutils 0.190-1.1build4 amd64 collection of utilities to handle ELF objects +ii elfutils 0.190-1.1build4.1 amd64 collection of utilities to handle ELF objects ii execstack 0.0.20131005-1.1ubuntu1 amd64 ELF GNU_STACK program header editing utility ii eza 0.18.2-1 amd64 Modern replacement for ls ii fd-find 9.0.0-1 amd64 Simple, fast and user-friendly alternative to find @@ -99,46 +99,46 @@ ii libapt-pkg6.0t64:amd64 2.7.14build2 amd64 ii libarchive13t64:amd64 3.7.2-2ubuntu0.3 amd64 Multi-format archive and compression library (shared library) ii libaria2-0:amd64 1.37.0+debian-1build3 amd64 C++ library interface to aria2 ii libasan8:amd64 14.2.0-4ubuntu2~24.04 amd64 AddressSanitizer -- a fast memory error detector -ii libasm1t64:amd64 0.190-1.1build4 amd64 library with a programmable assembler interface +ii libasm1t64:amd64 0.190-1.1build4.1 amd64 library with a programmable assembler interface ii libassuan0:amd64 2.5.6-1build1 amd64 IPC library for the GnuPG components ii libatomic1:amd64 14.2.0-4ubuntu2~24.04 amd64 support library providing __atomic built-in functions -ii libattr1:amd64 1:2.5.2-1build1 amd64 extended attribute handling - shared library +ii libattr1:amd64 1:2.5.2-1build1.1 amd64 extended attribute handling - shared library ii libaudit-common 1:3.1.2-2.1build1.1 all Dynamic library for security auditing - common files ii libaudit1:amd64 1:3.1.2-2.1build1.1 amd64 Dynamic library for security auditing ii libbabeltrace1:amd64 1.5.11-3build3 amd64 Babeltrace conversion libraries -ii libbinutils:amd64 2.42-4ubuntu2.3 amd64 GNU binary utilities (private shared library) -ii libblkid1:amd64 2.39.3-9ubuntu6.1 amd64 block device ID library +ii libbinutils:amd64 2.42-4ubuntu2.4 amd64 GNU binary utilities (private shared library) +ii libblkid1:amd64 2.39.3-9ubuntu6.2 amd64 block device ID library ii libbrotli1:amd64 1.1.0-2build2 amd64 library implementing brotli encoder and decoder (shared libraries) -ii libbsd0:amd64 0.12.1-1build1 amd64 utility functions from BSD systems - shared library +ii libbsd0:amd64 0.12.1-1build1.1 amd64 utility functions from BSD systems - shared library ii libbz2-1.0:amd64 1.0.8-5.1build0.1 amd64 high-quality block-sorting file compressor library - runtime ii libbzip3-0:amd64 1.4.0-1 amd64 better, faster and stronger spiritual successor to bzip2 - runtime -ii libc-bin 2.39-0ubuntu8.3 amd64 GNU C Library: Binaries -ii libc-dev-bin 2.39-0ubuntu8.3 amd64 GNU C Library: Development binaries -ii libc6-dbg:amd64 2.39-0ubuntu8.3 amd64 GNU C Library: detached debugging symbols -ii libc6-dev-i386 2.39-0ubuntu8.3 amd64 GNU C Library: 32-bit development libraries for AMD64 -ii libc6-dev-x32 2.39-0ubuntu8.3 amd64 GNU C Library: X32 ABI Development Libraries for AMD64 -ii libc6-dev:amd64 2.39-0ubuntu8.3 amd64 GNU C Library: Development Libraries and Header Files -ii libc6-i386 2.39-0ubuntu8.3 amd64 GNU C Library: 32-bit shared libraries for AMD64 -ii libc6-x32 2.39-0ubuntu8.3 amd64 GNU C Library: X32 ABI Shared libraries for AMD64 -ii libc6:amd64 2.39-0ubuntu8.3 amd64 GNU C Library: Shared libraries -ii libc6:i386 2.39-0ubuntu8.3 i386 GNU C Library: Shared libraries +ii libc-bin 2.39-0ubuntu8.4 amd64 GNU C Library: Binaries +ii libc-dev-bin 2.39-0ubuntu8.4 amd64 GNU C Library: Development binaries +ii libc6-dbg:amd64 2.39-0ubuntu8.4 amd64 GNU C Library: detached debugging symbols +ii libc6-dev-i386 2.39-0ubuntu8.4 amd64 GNU C Library: 32-bit development libraries for AMD64 +ii libc6-dev-x32 2.39-0ubuntu8.4 amd64 GNU C Library: X32 ABI Development Libraries for AMD64 +ii libc6-dev:amd64 2.39-0ubuntu8.4 amd64 GNU C Library: Development Libraries and Header Files +ii libc6-i386 2.39-0ubuntu8.4 amd64 GNU C Library: 32-bit shared libraries for AMD64 +ii libc6-x32 2.39-0ubuntu8.4 amd64 GNU C Library: X32 ABI Shared libraries for AMD64 +ii libc6:amd64 2.39-0ubuntu8.4 amd64 GNU C Library: Shared libraries +ii libc6:i386 2.39-0ubuntu8.4 i386 GNU C Library: Shared libraries ii libcap-ng0:amd64 0.8.4-2build2 amd64 alternate POSIX capabilities library -ii libcap2:amd64 1:2.66-5ubuntu2 amd64 POSIX 1003.1e capabilities (library) +ii libcap2:amd64 1:2.66-5ubuntu2.2 amd64 POSIX 1003.1e capabilities (library) ii libcares2:amd64 1.27.0-1.0ubuntu1 amd64 asynchronous name resolver ii libcc1-0:amd64 14.2.0-4ubuntu2~24.04 amd64 GCC cc1 plugin for GDB ii libcom-err2:amd64 1.47.0-2.4~exp1ubuntu4.1 amd64 common error description library ii libcrypt-dev:amd64 1:4.4.36-4build1 amd64 libcrypt development files ii libcrypt1:amd64 1:4.4.36-4build1 amd64 libcrypt shared library -ii libctf-nobfd0:amd64 2.42-4ubuntu2.3 amd64 Compact C Type Format library (runtime, no BFD dependency) -ii libctf0:amd64 2.42-4ubuntu2.3 amd64 Compact C Type Format library (runtime, BFD dependency) +ii libctf-nobfd0:amd64 2.42-4ubuntu2.4 amd64 Compact C Type Format library (runtime, no BFD dependency) +ii libctf0:amd64 2.42-4ubuntu2.4 amd64 Compact C Type Format library (runtime, BFD dependency) ii libcurl3t64-gnutls:amd64 8.5.0-2ubuntu10.6 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour) ii libcurl4t64:amd64 8.5.0-2ubuntu10.6 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour) ii libdb5.3t64:amd64 5.3.28+dfsg2-7 amd64 Berkeley v5.3 Database Libraries [runtime] ii libdebconfclient0:amd64 0.271ubuntu3 amd64 Debian Configuration Management System (C-implementation library) -ii libdebuginfod-common 0.190-1.1build4 all configuration to enable the Debian debug info server -ii libdebuginfod1t64:amd64 0.190-1.1build4 amd64 library to interact with debuginfod (development files) -ii libdw1t64:amd64 0.190-1.1build4 amd64 library that provides access to the DWARF debug information -ii libelf1t64:amd64 0.190-1.1build4 amd64 library to read and write ELF files +ii libdebuginfod-common 0.190-1.1build4.1 all configuration to enable the Debian debug info server +ii libdebuginfod1t64:amd64 0.190-1.1build4.1 amd64 library to interact with debuginfod (development files) +ii libdw1t64:amd64 0.190-1.1build4.1 amd64 library that provides access to the DWARF debug information +ii libelf1t64:amd64 0.190-1.1build4.1 amd64 library to read and write ELF files ii liberror-perl 0.17029-2 all Perl module for error/exception handling in an OO-ish way ii libexpat1:amd64 2.6.1-2ubuntu0.2 amd64 XML parsing C library - runtime library ii libext2fs2t64:amd64 1.47.0-2.4~exp1ubuntu4.1 amd64 ext2/ext3/ext4 file system libraries @@ -151,31 +151,31 @@ ii libgdbm-compat4t64:amd64 1.23-5.1build1 amd64 ii libgdbm6t64:amd64 1.23-5.1build1 amd64 GNU dbm database routines (runtime version) ii libgit2-1.7:amd64 1.7.2+ds-1ubuntu3 amd64 low-level Git library ii libglib2.0-0t64:amd64 2.80.0-6ubuntu3.2 amd64 GLib library of C routines -ii libgmp10:amd64 2:6.3.0+dfsg-2ubuntu6 amd64 Multiprecision arithmetic library -ii libgnutls30t64:amd64 3.8.3-1.1ubuntu3.2 amd64 GNU TLS library - main runtime library +ii libgmp10:amd64 2:6.3.0+dfsg-2ubuntu6.1 amd64 Multiprecision arithmetic library +ii libgnutls30t64:amd64 3.8.3-1.1ubuntu3.3 amd64 GNU TLS library - main runtime library ii libgomp1:amd64 14.2.0-4ubuntu2~24.04 amd64 GCC OpenMP (GOMP) support library -ii libgpg-error0:amd64 1.47-3build2 amd64 GnuPG development runtime library -ii libgprofng0:amd64 2.42-4ubuntu2.3 amd64 GNU Next Generation profiler (runtime library) -ii libgssapi-krb5-2:amd64 1.20.1-6ubuntu2.2 amd64 MIT Kerberos runtime libraries - krb5 GSS-API Mechanism +ii libgpg-error0:amd64 1.47-3build2.1 amd64 GnuPG development runtime library +ii libgprofng0:amd64 2.42-4ubuntu2.4 amd64 GNU Next Generation profiler (runtime library) +ii libgssapi-krb5-2:amd64 1.20.1-6ubuntu2.5 amd64 MIT Kerberos runtime libraries - krb5 GSS-API Mechanism ii libhiredis1.1.0:amd64 1.2.0-6ubuntu3 amd64 minimalistic C client library for Redis ii libhogweed6t64:amd64 3.9.1-2.2build1.1 amd64 low level cryptographic library (public-key cryptos) ii libhttp-parser2.9:amd64 2.9.4-6build1 amd64 parser for HTTP messages written in C ii libhwasan0:amd64 14.2.0-4ubuntu2~24.04 amd64 AddressSanitizer -- a fast memory error detector ii libicu74:amd64 74.2-1ubuntu3.1 amd64 International Components for Unicode -ii libidn2-0:amd64 2.3.7-2build1 amd64 Internationalized domain names (IDNA2008/TR46) library +ii libidn2-0:amd64 2.3.7-2build1.1 amd64 Internationalized domain names (IDNA2008/TR46) library ii libio-pty-perl 1:1.20-1build2 amd64 Perl module for pseudo tty IO ii libipc-run-perl 20231003.0-1 all Perl module for running processes ii libipt2 2.0.6-1build1 amd64 Intel Processor Trace Decoder Library -ii libisl23:amd64 0.26-3build1 amd64 manipulating sets and relations of integer points bounded by linear constraints +ii libisl23:amd64 0.26-3build1.1 amd64 manipulating sets and relations of integer points bounded by linear constraints ii libitm1:amd64 14.2.0-4ubuntu2~24.04 amd64 GNU Transactional Memory Library ii libjansson4:amd64 2.14-2build2 amd64 C library for encoding, decoding and manipulating JSON data ii libjq1:amd64 1.7.1-3build1 amd64 lightweight and flexible command-line JSON processor - shared library ii libjsoncpp25:amd64 1.9.5-6build1 amd64 library for reading and writing JSON for C++ -ii libk5crypto3:amd64 1.20.1-6ubuntu2.2 amd64 MIT Kerberos runtime libraries - Crypto Library +ii libk5crypto3:amd64 1.20.1-6ubuntu2.5 amd64 MIT Kerberos runtime libraries - Crypto Library ii libkeyutils1:amd64 1.6.3-3build1 amd64 Linux Key Management Utilities (library) -ii libkrb5-3:amd64 1.20.1-6ubuntu2.2 amd64 MIT Kerberos runtime libraries -ii libkrb5support0:amd64 1.20.1-6ubuntu2.2 amd64 MIT Kerberos runtime libraries - Support library -ii libldap2:amd64 2.6.7+dfsg-1~exp1ubuntu8.1 amd64 OpenLDAP libraries +ii libkrb5-3:amd64 1.20.1-6ubuntu2.5 amd64 MIT Kerberos runtime libraries +ii libkrb5support0:amd64 1.20.1-6ubuntu2.5 amd64 MIT Kerberos runtime libraries - Support library +ii libldap2:amd64 2.6.7+dfsg-1~exp1ubuntu8.2 amd64 OpenLDAP libraries ii liblsan0:amd64 14.2.0-4ubuntu2~24.04 amd64 LeakSanitizer -- a memory leak detector (runtime) ii libluajit-5.1-2:amd64 2.1.0+git20231223.c525bcb+dfsg-1 amd64 Just in time compiler for Lua - library version ii libluajit-5.1-common 2.1.0+git20231223.c525bcb+dfsg-1 all Just in time compiler for Lua - common files @@ -184,18 +184,18 @@ ii liblzma5:amd64 5.6.1+really5.4.5-1build0.1 amd64 ii liblzo2-2:amd64 2.10-2build4 amd64 data compression library ii libmagic-mgc 1:5.45-3build1 amd64 File type determination library using "magic" numbers (compiled magic file) ii libmagic1t64:amd64 1:5.45-3build1 amd64 Recognize the type of data in a file using "magic" numbers - library -ii libmd0:amd64 1.1.0-2build1 amd64 message digest functions from BSD systems - shared library -ii libmount1:amd64 2.39.3-9ubuntu6.1 amd64 device mounting library -ii libmpc3:amd64 1.3.1-1build1 amd64 multiple precision complex floating-point library -ii libmpfr6:amd64 4.2.1-1build1 amd64 multiple precision floating-point computation +ii libmd0:amd64 1.1.0-2build1.1 amd64 message digest functions from BSD systems - shared library +ii libmount1:amd64 2.39.3-9ubuntu6.2 amd64 device mounting library +ii libmpc3:amd64 1.3.1-1build1.1 amd64 multiple precision complex floating-point library +ii libmpfr6:amd64 4.2.1-1build1.1 amd64 multiple precision floating-point computation ii libmsgpackc2:amd64 4.0.0-3build1 amd64 binary-based efficient object serialization library ii libmspack0t64:amd64 0.11-1.1build1 amd64 library for Microsoft compression formats (shared library) ii libncurses6:amd64 6.4+20240113-1ubuntu2 amd64 shared libraries for terminal handling ii libncursesw6:amd64 6.4+20240113-1ubuntu2 amd64 shared libraries for terminal handling (wide character support) ii libnettle8t64:amd64 3.9.1-2.2build1.1 amd64 low level cryptographic library (symmetric and one-way cryptos) -ii libnghttp2-14:amd64 1.59.0-1ubuntu0.1 amd64 library implementing HTTP/2 protocol (shared library) -ii libnl-3-200:amd64 3.7.0-0.3build1 amd64 library for dealing with netlink sockets -ii libnl-genl-3-200:amd64 3.7.0-0.3build1 amd64 library for dealing with netlink sockets - generic netlink +ii libnghttp2-14:amd64 1.59.0-1ubuntu0.2 amd64 library implementing HTTP/2 protocol (shared library) +ii libnl-3-200:amd64 3.7.0-0.3build1.1 amd64 library for dealing with netlink sockets +ii libnl-genl-3-200:amd64 3.7.0-0.3build1.1 amd64 library for dealing with netlink sockets - generic netlink ii libnpth0t64:amd64 1.6-3.1build1 amd64 replacement for GNU Pth using system threads ii libonig5:amd64 6.9.9-1build1 amd64 regular expressions library ii libp11-kit0:amd64 0.25.3-4ubuntu2.1 amd64 library for loading and coordinating access to PKCS#11 modules - runtime @@ -203,18 +203,18 @@ ii libpam-modules-bin 1.5.3-5ubuntu5.1 amd64 ii libpam-modules:amd64 1.5.3-5ubuntu5.1 amd64 Pluggable Authentication Modules for PAM ii libpam-runtime 1.5.3-5ubuntu5.1 all Runtime support for the PAM library ii libpam0g:amd64 1.5.3-5ubuntu5.1 amd64 Pluggable Authentication Modules library -ii libpcre2-32-0:amd64 10.42-4ubuntu2 amd64 New Perl Compatible Regular Expression Library - 32 bit runtime files -ii libpcre2-8-0:amd64 10.42-4ubuntu2 amd64 New Perl Compatible Regular Expression Library- 8 bit runtime files -ii libperl5.38t64:amd64 5.38.2-3.2build2 amd64 shared Perl library +ii libpcre2-32-0:amd64 10.42-4ubuntu2.1 amd64 New Perl Compatible Regular Expression Library - 32 bit runtime files +ii libpcre2-8-0:amd64 10.42-4ubuntu2.1 amd64 New Perl Compatible Regular Expression Library- 8 bit runtime files +ii libperl5.38t64:amd64 5.38.2-3.2build2.1 amd64 shared Perl library ii libpipeline1:amd64 1.5.7-2 amd64 Unix process pipeline manipulation library ii libpopt0:amd64 1.19+dfsg-1build1 amd64 lib for parsing cmdline parameters ii libproc2-0:amd64 2:4.0.4-4ubuntu3.2 amd64 library for accessing process information from /proc ii libpsl5t64:amd64 0.21.2-1.1build1 amd64 Library for Public Suffix List (shared libraries) ii libpython2.7-minimal:amd64 2.7.18-8+deb11u1 amd64 Minimal subset of the Python language (version 2.7) ii libpython3-stdlib:amd64 3.12.3-0ubuntu2 amd64 interactive high-level object-oriented language (default python3 version) -ii libpython3.12-minimal:amd64 3.12.3-1ubuntu0.3 amd64 Minimal subset of the Python language (version 3.12) -ii libpython3.12-stdlib:amd64 3.12.3-1ubuntu0.3 amd64 Interactive high-level object-oriented language (standard library, version 3.12) -ii libpython3.12t64:amd64 3.12.3-1ubuntu0.3 amd64 Shared Python runtime library (version 3.12) +ii libpython3.12-minimal:amd64 3.12.3-1ubuntu0.5 amd64 Minimal subset of the Python language (version 3.12) +ii libpython3.12-stdlib:amd64 3.12.3-1ubuntu0.5 amd64 Interactive high-level object-oriented language (standard library, version 3.12) +ii libpython3.12t64:amd64 3.12.3-1ubuntu0.5 amd64 Shared Python runtime library (version 3.12) ii libquadmath0:amd64 14.2.0-4ubuntu2~24.04 amd64 GCC Quad-Precision Math Library ii libreadline8t64:amd64 8.2-4build1 amd64 GNU readline and history libraries, run-time libraries ii librhash0:amd64 1.4.3-3build1 amd64 shared library for hash functions computing @@ -222,27 +222,27 @@ ii librtmp1:amd64 2.4+20151223.gitfa8646d.1-2build7 amd64 ii libsasl2-2:amd64 2.1.28+dfsg1-5ubuntu3.1 amd64 Cyrus SASL - authentication abstraction library ii libsasl2-modules-db:amd64 2.1.28+dfsg1-5ubuntu3.1 amd64 Cyrus SASL - pluggable authentication modules (DB) ii libseccomp2:amd64 2.5.5-1ubuntu3.1 amd64 high level interface to Linux seccomp filter -ii libselinux1:amd64 3.5-2ubuntu2 amd64 SELinux runtime shared libraries +ii libselinux1:amd64 3.5-2ubuntu2.1 amd64 SELinux runtime shared libraries ii libsemanage-common 3.5-1build5 all Common files for SELinux policy management libraries ii libsemanage2:amd64 3.5-1build5 amd64 SELinux policy management library ii libsensors-config 1:3.6.0-9build1 all lm-sensors configuration files ii libsensors5:amd64 1:3.6.0-9build1 amd64 library to read temperature/voltage/fan sensors ii libsepol2:amd64 3.5-2build1 amd64 SELinux library for manipulating binary security policies -ii libsframe1:amd64 2.42-4ubuntu2.3 amd64 Library to handle the SFrame format (runtime library) +ii libsframe1:amd64 2.42-4ubuntu2.4 amd64 Library to handle the SFrame format (runtime library) ii libsigsegv2:amd64 2.14-1ubuntu2 amd64 Library for handling page faults in a portable way -ii libsmartcols1:amd64 2.39.3-9ubuntu6.1 amd64 smart column output alignment library +ii libsmartcols1:amd64 2.39.3-9ubuntu6.2 amd64 smart column output alignment library ii libsource-highlight-common 3.1.9-4.3build1 all architecture-independent files for source highlighting library ii libsource-highlight4t64:amd64 3.1.9-4.3build1 amd64 source highlighting library -ii libsqlite3-0:amd64 3.45.1-1ubuntu2 amd64 SQLite 3 shared library +ii libsqlite3-0:amd64 3.45.1-1ubuntu2.1 amd64 SQLite 3 shared library ii libss2:amd64 1.47.0-2.4~exp1ubuntu4.1 amd64 command-line interface parsing library ii libssh-4:amd64 0.10.6-2build2 amd64 tiny C SSH library (OpenSSL flavor) ii libssh2-1t64:amd64 1.11.0-4.1build2 amd64 SSH2 client-side library -ii libssl3t64:amd64 3.0.13-0ubuntu3.4 amd64 Secure Sockets Layer toolkit - shared libraries +ii libssl3t64:amd64 3.0.13-0ubuntu3.5 amd64 Secure Sockets Layer toolkit - shared libraries ii libstdc++-13-dev:amd64 13.3.0-6ubuntu2~24.04 amd64 GNU Standard C++ Library v3 (development files) ii libstdc++6:amd64 14.2.0-4ubuntu2~24.04 amd64 GNU Standard C++ Library v3 -ii libsystemd0:amd64 255.4-1ubuntu8.4 amd64 systemd utility library +ii libsystemd0:amd64 255.4-1ubuntu8.5 amd64 systemd utility library ii libtalloc2:amd64 2.4.2-1build2 amd64 hierarchical pool based memory allocator -ii libtasn1-6:amd64 4.19.0-3build1 amd64 Manage ASN.1 structures (runtime) +ii libtasn1-6:amd64 4.19.0-3ubuntu0.24.04.1 amd64 Manage ASN.1 structures (runtime) ii libtermkey1:amd64 0.22-1 amd64 library for processing keyboard input ii libtime-duration-perl 1.21-2 all module for rounded or exact English expression of durations ii libtimedate-perl 2.3300-2 all collection of modules to manipulate date/time information @@ -251,13 +251,13 @@ ii libtree-sitter0:amd64 0.20.8-2 amd64 ii libtsan2:amd64 14.2.0-4ubuntu2~24.04 amd64 ThreadSanitizer -- a Valgrind-based detector of data races (runtime) ii libubsan1:amd64 14.2.0-4ubuntu2~24.04 amd64 UBSan -- undefined behaviour sanitizer (runtime) ii libuchardet0:amd64 0.0.8-1build1 amd64 universal charset detection library - shared library -ii libudev1:amd64 255.4-1ubuntu8.4 amd64 libudev shared library +ii libudev1:amd64 255.4-1ubuntu8.5 amd64 libudev shared library ii libunibilium4:amd64 2.1.0-3 amd64 simple, self-contained terminfo library -ii libunistring5:amd64 1.1-2build1 amd64 Unicode string library for C -ii libunwind8:amd64 1.6.2-3build1 amd64 library to determine the call-chain of a program - runtime +ii libunistring5:amd64 1.1-2build1.1 amd64 Unicode string library for C +ii libunwind8:amd64 1.6.2-3build1.1 amd64 library to determine the call-chain of a program - runtime ii liburing2:amd64 2.5-1build1 amd64 Linux kernel io_uring access library - shared library ii libutempter0:amd64 1.2.1-3build1 amd64 privileged helper for utmp/wtmp updates (runtime) -ii libuuid1:amd64 2.39.3-9ubuntu6.1 amd64 Universally Unique ID library +ii libuuid1:amd64 2.39.3-9ubuntu6.2 amd64 Universally Unique ID library ii libuv1t64:amd64 1.48.0-1.1build1 amd64 asynchronous event notification library - runtime library ii libvterm0:amd64 0.3.3-2build1 amd64 abstract terminal library ii libwrap0:amd64 7.6.q-33 amd64 Wietse Venema's TCP wrappers library @@ -276,12 +276,12 @@ ii libx32ubsan1 14.2.0-4ubuntu2~24.04 amd64 ii libxau6:amd64 1:1.0.9-1build6 amd64 X11 authorisation library ii libxcb1:amd64 1.15-1ubuntu2 amd64 X C Binding ii libxdmcp6:amd64 1:1.1.3-0ubuntu6 amd64 X11 Display Manager Control Protocol library -ii libxml2:amd64 2.9.14+dfsg-1.3ubuntu3 amd64 GNOME XML library +ii libxml2:amd64 2.9.14+dfsg-1.3ubuntu3.2 amd64 GNOME XML library ii libxxhash0:amd64 0.8.2-2build1 amd64 shared library for xxhash ii libyaml-0-2:amd64 0.2.5-1build1 amd64 Fast YAML 1.1 parser and emitter library ii libzstd-dev:amd64 1.5.5+dfsg2-2build1.1 amd64 fast lossless compression algorithm -- development files ii libzstd1:amd64 1.5.5+dfsg2-2build1.1 amd64 fast lossless compression algorithm -ii linux-libc-dev:amd64 6.8.0-51.52 amd64 Linux Kernel Headers for development +ii linux-libc-dev:amd64 6.8.0-55.57 amd64 Linux Kernel Headers for development ii login 1:4.13+dfsg1-4ubuntu3.2 amd64 system login tools ii logsave 1.47.0-2.4~exp1ubuntu4.1 amd64 save the output of a command in a log file ii lsb-release 12.0-2 all Linux Standard Base version reporting utility (minimal implementation) @@ -297,7 +297,7 @@ ii media-types 10.1.0 all ii minify 2.20.17-1 amd64 CLI implementation of the Go minify library package ii mksh 59c-37 amd64 MirBSD Korn Shell ii moreutils 0.69-1 amd64 additional Unix utilities -ii mount 2.39.3-9ubuntu6.1 amd64 tools for mounting and manipulating filesystems +ii mount 2.39.3-9ubuntu6.2 amd64 tools for mounting and manipulating filesystems ii musl:amd64 1.2.4-2 amd64 standard C library ii ncurses-base 6.4+20240113-1ubuntu2 all basic terminal type definitions ii ncurses-bin 6.4+20240113-1ubuntu2 amd64 terminal-related programs and man pages @@ -306,7 +306,7 @@ ii neovim 0.9.5-6ubuntu2 amd64 ii neovim-runtime 0.9.5-6ubuntu2 all heavily refactored vim fork (runtime files) ii netbase 6.4 all Basic TCP/IP networking system ii ninja-build 1.11.1-2 amd64 small build system closest in spirit to Make -ii openssl 3.0.13-0ubuntu3.4 amd64 Secure Sockets Layer toolkit - cryptographic utility +ii openssl 3.0.13-0ubuntu3.5 amd64 Secure Sockets Layer toolkit - cryptographic utility ii p7zip 16.02+transitional.1 all transitional package ii parallel 20231122+ds-1 all build and execute command lines from standard input in parallel ii passwd 1:4.13+dfsg1-4ubuntu3.2 amd64 change and administer password and group data @@ -314,9 +314,9 @@ ii patch 2.7.6-7build3 amd64 ii patchelf 0.18.0-1.1build1 amd64 modify properties of ELF executables ii patchutils 0.4.2-1build3 amd64 Utilities to work with patches ii pax-utils 1.3.7-1 amd64 Security-focused ELF files checking tool -ii perl 5.38.2-3.2build2 amd64 Larry Wall's Practical Extraction and Report Language -ii perl-base 5.38.2-3.2build2 amd64 minimal Perl system -ii perl-modules-5.38 5.38.2-3.2build2 all Core Perl modules +ii perl 5.38.2-3.2build2.1 amd64 Larry Wall's Practical Extraction and Report Language +ii perl-base 5.38.2-3.2build2.1 amd64 minimal Perl system +ii perl-modules-5.38 5.38.2-3.2build2.1 all Core Perl modules ii procps 2:4.0.4-4ubuntu3.2 amd64 /proc file system utilities ii proot 5.1.0-1.3 amd64 emulate chroot, bind mount and binfmt_misc for non-root users ii python2.7-minimal 2.7.18-8+deb11u1 amd64 Minimal subset of the Python language (version 2.7) @@ -333,8 +333,8 @@ ii python3-tomli-w 1.0.0-2 all ii python3-xmltodict 0.13.0-1 all Makes working with XML feel like you are working with JSON (Python 3) ii python3-yaml 6.0.1-2build2 amd64 YAML parser and emitter for Python3 ii python3-zstd 1.5.5.1-1build1 amd64 python bindings to Yann Collet ZSTD compression library -ii python3.12 3.12.3-1ubuntu0.3 amd64 Interactive high-level object-oriented language (version 3.12) -ii python3.12-minimal 3.12.3-1ubuntu0.3 amd64 Minimal subset of the Python language (version 3.12) +ii python3.12 3.12.3-1ubuntu0.5 amd64 Interactive high-level object-oriented language (version 3.12) +ii python3.12-minimal 3.12.3-1ubuntu0.5 amd64 Minimal subset of the Python language (version 3.12) ii re2c 3.1-1build1 amd64 lexer generator for C, C++, Go and Rust ii readline-common 8.2-4build1 all GNU readline and history libraries, common files ii ripgrep 14.1.0-1 amd64 Recursively searches directories for a regex pattern @@ -349,18 +349,19 @@ ii sysstat 12.6.1-2 amd64 ii sysvinit-utils 3.08-6ubuntu3 amd64 System-V-like utilities ii tar 1.35+dfsg-3build1 amd64 GNU version of the tar archiving utility ii time 1.9-0.2build1 amd64 GNU time program for measuring CPU resource usage -ii tzdata 2024a-3ubuntu1.1 all time zone and daylight-saving time data +ii tzdata 2024b-0ubuntu0.24.04.1 all time zone and daylight-saving time data ii ubuntu-keyring 2023.11.28.1 all GnuPG keys of the Ubuntu archive ii ucf 3.0043+nmu1 all Update Configuration File(s): preserve user changes to config files ii universal-ctags 5.9.20210829.0-1 amd64 build tag file indexes of source code definitions +ii unminimize 0.2.1 amd64 Un-minimize your minimial images or setup ii unzip 6.0-28ubuntu4.1 amd64 De-archiver for .zip files -ii util-linux 2.39.3-9ubuntu6.1 amd64 miscellaneous system utilities +ii util-linux 2.39.3-9ubuntu6.2 amd64 miscellaneous system utilities ii valgrind 1:3.22.0-0ubuntu3 amd64 instrumentation framework for building dynamic analysis tools ii wget 1.21.4-1ubuntu4.1 amd64 retrieves files from the web ii xz-utils 5.6.1+really5.4.5-1build0.1 amd64 XZ-format compression utilities ii yash 2.55-2 amd64 yet another shell ii yq 3.1.0-3 all Command-line YAML processor - jq wrapper for YAML documents -ii zip 3.0-13ubuntu0.1 amd64 Archiver for .zip files +ii zip 3.0-13ubuntu0.2 amd64 Archiver for .zip files ii zlib1g-dev:amd64 1:1.3.dfsg-3.1ubuntu2.1 amd64 compression library - development ii zlib1g:amd64 1:1.3.dfsg-3.1ubuntu2.1 amd64 compression library - runtime ii zlib1g:i386 1:1.3.dfsg-3.1ubuntu2.1 i386 compression library - runtime @@ -373,7 +374,7 @@ ii zstd 1.5.5+dfsg2-2build1.1 amd64 ||/ Name Version Architecture Description Packages sorted by Installed-Size: - 971174 ===== TOTAL (367 packages) + 971255 ===== TOTAL (368 packages) 76943 valgrind amd64 61333 gcc-13-x86-64-linux-gnu amd64 36493 cmake amd64 @@ -393,15 +394,15 @@ Packages sorted by Installed-Size: 12321 fish-common all 12297 libc6 i386 12004 libc6-x32 amd64 - 11993 libc6-i386 amd64 + 11989 libc6-i386 amd64 11549 binutils-x86-64-linux-gnu amd64 - 11176 libc6-dbg amd64 + 11182 libc6-dbg amd64 10984 cmake-data all 10791 libasan8 amd64 9704 libx32asan8 amd64 9539 lib32asan8 amd64 9017 libpython3.12-stdlib amd64 - 8905 libpython3.12t64 amd64 + 8917 libpython3.12t64 amd64 8902 libtsan2 amd64 8335 libmagic-mgc amd64 8296 lib32gcc-13-dev amd64 @@ -409,7 +410,7 @@ Packages sorted by Installed-Size: 7924 python3.12-minimal amd64 7913 perl-base amd64 7531 libx32gcc-13-dev amd64 - 7332 linux-libc-dev amd64 + 7359 linux-libc-dev amd64 7226 lib32stdc++-13-dev amd64 7059 libx32stdc++-13-dev amd64 7024 direnv amd64 @@ -421,7 +422,7 @@ Packages sorted by Installed-Size: 6158 7zip amd64 5219 bat amd64 5210 ripgrep amd64 - 5178 libpython3.12-minimal amd64 + 5179 libpython3.12-minimal amd64 4897 libhwasan0 amd64 4341 ncurses-term all 4244 minify amd64 @@ -460,7 +461,7 @@ Packages sorted by Installed-Size: 2183 libc-bin amd64 2163 git-man all 2103 strace amd64 - 2078 libxml2 amd64 + 2079 libxml2 amd64 2032 libisl23 amd64 2009 universal-ctags amd64 1980 aria2 amd64 @@ -483,7 +484,7 @@ Packages sorted by Installed-Size: 1452 sysstat amd64 1448 yash amd64 1396 libgcrypt20 amd64 - 1381 tzdata all + 1382 tzdata all 1362 libx11-6 amd64 1342 libx11-data all 1322 zlib1g-dev amd64 @@ -495,7 +496,7 @@ Packages sorted by Installed-Size: 1142 eza amd64 1136 zoxide amd64 1025 libsystemd0 amd64 - 1014 libkrb5-3 amd64 + 1015 libkrb5-3 amd64 996 screen amd64 925 libcurl4t64 amd64 916 wget amd64 @@ -521,15 +522,15 @@ Packages sorted by Installed-Size: 624 python3-pyelftools all 614 lib32quadmath0 amd64 602 libluajit-5.1-2 amd64 - 560 binutils-common amd64 + 564 binutils-common amd64 556 libtinfo6 amd64 554 libpcre2-32-0 amd64 553 gcc-13 amd64 552 findutils amd64 543 libgmp10 amd64 + 540 libldap2 amd64 538 libext2fs2t64 amd64 536 zip amd64 - 536 libldap2 amd64 521 curl amd64 512 python3-yaml amd64 508 libbabeltrace1 amd64 @@ -537,8 +538,8 @@ Packages sorted by Installed-Size: 493 debconf all 467 libreadline8t64 amd64 452 diffutils amd64 + 426 libgssapi-krb5-2 amd64 426 base-files amd64 - 425 libgssapi-krb5-2 amd64 424 libnettle8t64 amd64 424 htop amd64 422 libncursesw6 amd64 @@ -568,7 +569,7 @@ Packages sorted by Installed-Size: 314 libudev1 amd64 311 libx32quadmath0 amd64 309 less amd64 - 306 libctf-nobfd0 amd64 + 307 libctf-nobfd0 amd64 305 libsource-highlight-common all 300 libquadmath0 amd64 289 libblkid1 amd64 @@ -581,7 +582,7 @@ Packages sorted by Installed-Size: 270 pax-utils amd64 270 libpam-modules-bin amd64 264 libuv1t64 amd64 - 257 libk5crypto3 amd64 + 258 libk5crypto3 amd64 255 libipc-run-perl all 254 base-passwd amd64 245 rpcsvc-proto amd64 @@ -608,11 +609,11 @@ Packages sorted by Installed-Size: 202 python3-pycurl amd64 200 libselinux1 amd64 200 libnghttp2-14 amd64 + 200 libelf1t64 amd64 199 execstack amd64 198 libtree-sitter0 amd64 197 libgcc-s1 amd64 196 libxcb1 amd64 - 196 libelf1t64 amd64 188 libx32gcc-s1 amd64 187 libunwind8 amd64 187 dash amd64 @@ -622,7 +623,7 @@ Packages sorted by Installed-Size: 171 libsmartcols1 amd64 163 zlib1g amd64 163 lzip amd64 - 159 binutils amd64 + 160 binutils amd64 158 zlib1g i386 157 lzop amd64 157 liblzo2-2 amd64 @@ -636,15 +637,15 @@ Packages sorted by Installed-Size: 143 libseccomp2 amd64 137 librtmp1 amd64 136 libhiredis1.1.0 amd64 - 132 libkrb5support0 amd64 + 133 libkrb5support0 amd64 131 libipt2 amd64 130 init-system-helpers all 130 bubblewrap amd64 + 127 libsframe1 amd64 127 libbsd0 amd64 126 time amd64 - 126 libsframe1 amd64 123 libtimedate-perl all - 121 libtasn1-6 amd64 + 122 libtasn1-6 amd64 120 libpopt0 amd64 115 libitm1 amd64 113 gcc-13-base amd64 @@ -662,7 +663,7 @@ Packages sorted by Installed-Size: 100 libassuan0 amd64 99 libpsl5t64 amd64 98 libmspack0t64 amd64 - 97 libcap2 amd64 + 98 libcap2 amd64 96 liburing2 amd64 95 libunibilium4 amd64 95 libjansson4 amd64 @@ -733,6 +734,7 @@ Packages sorted by Installed-Size: 20 cpp-x86-64-linux-gnu amd64 17 lsb-release all 17 libaudit-common all + 16 unminimize amd64 13 g++ amd64 11 g++-x86-64-linux-gnu amd64 11 cpp-13 amd64 diff --git a/misc/testsuite/upx_testsuite_1.sh b/misc/testsuite/upx_testsuite_1.sh index 54644db2..f9dae1d8 100755 --- a/misc/testsuite/upx_testsuite_1.sh +++ b/misc/testsuite/upx_testsuite_1.sh @@ -123,7 +123,7 @@ run_upx() { if [[ $UPX_TESTSUITE_VERBOSE == 1 ]]; then echo "LOG: '${run_upx[*]}' $*" fi - "${run_upx[@]}" "$@" || ec=$? + "${run_upx[@]}" --fake-stub-version=5.01 --fake-stub-year=2025 "$@" || ec=$? if [[ $ec != 0 ]]; then echo "FATAL: '${run_upx[*]}' $*" echo " (exit code was $ec)" diff --git a/src/check/dt_check.cpp b/src/check/dt_check.cpp index 86a3cc52..3c470200 100644 --- a/src/check/dt_check.cpp +++ b/src/check/dt_check.cpp @@ -714,6 +714,7 @@ template static forceinline bool testNoAliasing(A *a, B *b) noexcept { return TestNoAliasingStruct::test(a, b); } + template struct TestIntegerWrap { // check working -fno-strict-overflow static inline bool inc_gt(const T x) noexcept { return x + 1 > x; } diff --git a/src/main.cpp b/src/main.cpp index f4679538..2f9b92e9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -840,8 +840,8 @@ int main_get_options(int argc, char **argv) { {"force", 0, N, 'f'}, // force overwrite of output files {"force-compress", 0, N, 'f'}, // and compression of suspicious files {"force-overwrite", 0x90, N, 529}, // force overwrite of output files - {"link", 0x90, N, 530}, // preserve hard link {"info", 0, N, 'i'}, // info mode + {"link", 0x90, N, 530}, // preserve hard link {"no-env", 0x10, N, 519}, // no environment var {"no-link", 0x90, N, 531}, // do not preserve hard link [default] {"no-mode", 0x10, N, 526}, // do not preserve mode (permissions) diff --git a/src/version.h b/src/version.h index 83f11443..6e055b98 100644 --- a/src/version.h +++ b/src/version.h @@ -1,5 +1,5 @@ #pragma once -#define UPX_VERSION_HEX 0x050001 /* 05.00.00 */ +#define UPX_VERSION_HEX 0x050001 /* 05.00.01 */ #define UPX_VERSION_STRING "5.0.1" #define UPX_VERSION_STRING4 "5.01" #define UPX_VERSION_DATE "Feb 21st 2025"