mirror of
https://github.com/upx/upx.git
synced 2024-11-26 22:20:52 +00:00
CI updates
This commit is contained in:
parent
7b21a0620b
commit
70b20d7d89
3
.clangd
3
.clangd
@ -17,7 +17,8 @@ If:
|
||||
CompileFlags:
|
||||
Add:
|
||||
- -std=gnu++17
|
||||
# -std=gnu++20 # requires clang >= 10.0
|
||||
# -std=gnu++20 # requires clangd >= 11.0
|
||||
# -std=gnu++23 # requires clangd >= 18.0
|
||||
---
|
||||
# common flags for all C/C++ files
|
||||
If:
|
||||
|
11
.github/workflows/ci.yml
vendored
11
.github/workflows/ci.yml
vendored
@ -16,8 +16,8 @@ env:
|
||||
UPX_CMAKE_BUILD_FLAGS: --verbose
|
||||
UPX_CMAKE_CONFIG_FLAGS: -Wdev --warn-uninitialized
|
||||
UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO: 1
|
||||
# 2024-03-28
|
||||
ZIG_DIST_VERSION: 0.12.0-dev.3480+9dac8db2d
|
||||
# 2024-03-29
|
||||
ZIG_DIST_VERSION: 0.12.0-dev.3484+7aa42f47b
|
||||
|
||||
jobs:
|
||||
job-rebuild-and-verify-stubs:
|
||||
@ -465,14 +465,15 @@ jobs:
|
||||
- { zig_target: aarch64-windows-gnu }
|
||||
- { zig_target: arm-linux-musleabihf, qemu: qemu-arm }
|
||||
# { zig_target: arm-linux-musleabihf, qemu: qemu-arm, zig_pic: -fPIE }
|
||||
- { zig_target: i386-linux-musl, qemu: qemu-i386 -cpu Conroe }
|
||||
# { zig_target: i386-linux-musl, qemu: qemu-i386 -cpu Conroe, zig_pic: -fPIE }
|
||||
- { zig_target: i386-linux-musl, qemu: qemu-i386 }
|
||||
# { zig_target: i386-linux-musl, qemu: qemu-i386, zig_pic: -fPIE }
|
||||
- { zig_target: i386-windows-gnu }
|
||||
# mips and mipsel: bad hard-float code generation(??); or QEMU bug; or UPX bug; see https://github.com/upx/upx/issues/788
|
||||
- { zig_target: mips-linux-musl, zig_flags: -msoft-float, qemu: qemu-mips }
|
||||
- { zig_target: mipsel-linux-musl, zig_flags: -msoft-float, qemu: qemu-mipsel }
|
||||
- { zig_target: powerpc-linux-musl, qemu: qemu-ppc }
|
||||
- { zig_target: powerpc64-linux-musl, qemu: qemu-ppc64 }
|
||||
# powerpc64: obscure problem with C++ exceptions in doctest checks when *NOT* using -fstack-protector
|
||||
- { zig_target: powerpc64-linux-musl, zig_flags: -fstack-protector, qemu: qemu-ppc64 }
|
||||
- { zig_target: powerpc64le-linux-musl, qemu: qemu-ppc64le }
|
||||
- { zig_target: x86_64-linux-musl, qemu: qemu-x86_64 }
|
||||
# { zig_target: x86_64-linux-musl, qemu: qemu-x86_64, zig_pic: -fPIE }
|
||||
|
@ -1,3 +1,5 @@
|
||||
# vim:set ft=yaml ts=2 sw=2 et:
|
||||
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
||||
# for clang-tidy from https://clang.llvm.org/extra/clang-tidy/
|
||||
---
|
||||
Checks: >
|
||||
|
@ -1,3 +1,5 @@
|
||||
# vim:set ft=yaml ts=2 sw=2 et:
|
||||
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
||||
# for clang-tidy from https://clang.llvm.org/extra/clang-tidy/
|
||||
---
|
||||
Checks: >
|
||||
|
@ -1,3 +1,5 @@
|
||||
# vim:set ft=yaml ts=2 sw=2 et:
|
||||
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
||||
# for clang-tidy from https://clang.llvm.org/extra/clang-tidy/
|
||||
---
|
||||
Checks: >
|
||||
|
@ -1,3 +1,5 @@
|
||||
# vim:set ft=yaml ts=2 sw=2 et:
|
||||
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
||||
# for clang-tidy from https://clang.llvm.org/extra/clang-tidy/
|
||||
---
|
||||
Checks: >
|
||||
|
@ -5,6 +5,7 @@ argv0=$0; argv0abs="$(readlink -fn "$argv0")"; argv0dir="$(dirname "$argv0abs")"
|
||||
|
||||
# create the image from Dockerfile
|
||||
# using a rootless Podman container
|
||||
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
||||
|
||||
image=upx-stubtools-20221212-v7
|
||||
[[ $1 == --print-image ]] && echo "$image" && exit 0
|
||||
|
@ -5,6 +5,7 @@ argv0=$0; argv0abs="$(readlink -fn "$argv0")"; argv0dir="$(dirname "$argv0abs")"
|
||||
|
||||
# list all system packages that are installed in the image
|
||||
# using a rootless Podman container
|
||||
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
||||
|
||||
image="$("$argv0dir/10-create-image.sh" --print-image)"
|
||||
|
||||
|
@ -5,6 +5,7 @@ argv0=$0; argv0abs="$(readlink -fn "$argv0")"; argv0dir="$(dirname "$argv0abs")"
|
||||
|
||||
# run an interactive shell in the image
|
||||
# using a rootless Podman container
|
||||
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
||||
|
||||
image="$("$argv0dir/10-create-image.sh" --print-image)"
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
||||
FROM docker.io/library/ubuntu:22.04
|
||||
ENV UPX_CONTAINER_IMAGE_NAME=upx-stubtools-20221212-v6
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
40
misc/podman/rebuild-stubs/packages.txt
generated
40
misc/podman/rebuild-stubs/packages.txt
generated
@ -7,13 +7,13 @@ ii apt 2.4.11 amd64
|
||||
ii aria2 1.36.0-1 amd64 High speed download utility
|
||||
ii base-files 12ubuntu4.6 amd64 Debian base system miscellaneous files
|
||||
ii base-passwd 3.5.52build1 amd64 Debian base system master password and group files
|
||||
ii bash 5.1-6ubuntu1 amd64 GNU Bourne Again SHell
|
||||
ii bash 5.1-6ubuntu1.1 amd64 GNU Bourne Again SHell
|
||||
ii bash-completion 1:2.11-5ubuntu1 all programmable completion for the bash shell
|
||||
ii bfs 2.3.1-1 amd64 Breadth-first version of find(1)
|
||||
ii binutils 2.38-4ubuntu2.6 amd64 GNU assembler, linker and binary utilities
|
||||
ii binutils-common:amd64 2.38-4ubuntu2.6 amd64 Common files for the GNU assembler, linker and binary utilities
|
||||
ii binutils-x86-64-linux-gnu 2.38-4ubuntu2.6 amd64 GNU binary utilities, for x86-64-linux-gnu target
|
||||
ii bsdutils 1:2.37.2-4ubuntu3 amd64 basic utilities from 4.4BSD-Lite
|
||||
ii bsdutils 1:2.37.2-4ubuntu3.3 amd64 basic utilities from 4.4BSD-Lite
|
||||
ii busybox 1:1.30.1-7ubuntu3 amd64 Tiny utilities for small and embedded systems
|
||||
ii bzip2 1.0.8-5build1 amd64 high-quality block-sorting file compressor - utilities
|
||||
ii ca-certificates 20230311ubuntu0.22.04.1 all Common CA certificates
|
||||
@ -22,11 +22,11 @@ ii ccache 4.5.1-1 amd64
|
||||
ii chrpath 0.16-2 amd64 Tool to edit the rpath in ELF binaries
|
||||
ii cmake 3.22.1-1ubuntu1.22.04.2 amd64 cross-platform, open-source make system
|
||||
ii cmake-data 3.22.1-1ubuntu1.22.04.2 all CMake data files (modules, templates and documentation)
|
||||
ii coreutils 8.32-4.1ubuntu1.1 amd64 GNU core utilities
|
||||
ii coreutils 8.32-4.1ubuntu1.2 amd64 GNU core utilities
|
||||
ii cpio 2.13+dfsg-7 amd64 GNU cpio -- a program to manage archives of files
|
||||
ii cpp 4:11.2.0-1ubuntu1 amd64 GNU C preprocessor (cpp)
|
||||
ii cpp-11 11.4.0-1ubuntu1~22.04 amd64 GNU C preprocessor
|
||||
ii curl 7.81.0-1ubuntu1.15 amd64 command line tool for transferring data with URL syntax
|
||||
ii curl 7.81.0-1ubuntu1.16 amd64 command line tool for transferring data with URL syntax
|
||||
ii dash 0.5.11+git20210903+057cd650a4ed-3build1 amd64 POSIX-compliant shell
|
||||
ii debconf 1.5.79ubuntu1 all Debian configuration management system
|
||||
ii debianutils 5.5-1ubuntu2 amd64 Miscellaneous utilities specific to Debian
|
||||
@ -89,7 +89,7 @@ ii libaudit-common 1:3.0.7-1build1 all
|
||||
ii libaudit1:amd64 1:3.0.7-1build1 amd64 Dynamic library for security auditing
|
||||
ii libbabeltrace1:amd64 1.5.8-2build1 amd64 Babeltrace conversion libraries
|
||||
ii libbinutils:amd64 2.38-4ubuntu2.6 amd64 GNU binary utilities (private shared library)
|
||||
ii libblkid1:amd64 2.37.2-4ubuntu3 amd64 block device ID library
|
||||
ii libblkid1:amd64 2.37.2-4ubuntu3.3 amd64 block device ID library
|
||||
ii libboost-regex1.74.0:amd64 1.74.0-14ubuntu3 amd64 regular expression library for C++
|
||||
ii libbrotli1:amd64 1.0.9-2build6 amd64 library implementing brotli encoder and decoder (shared libraries)
|
||||
ii libbsd0:amd64 0.11.5-1 amd64 utility functions from BSD systems - shared library
|
||||
@ -113,8 +113,8 @@ ii libcrypt1:amd64 1:4.4.27-1 amd64
|
||||
ii libcrypt1:i386 1:4.4.27-1 i386 libcrypt shared library
|
||||
ii libctf-nobfd0:amd64 2.38-4ubuntu2.6 amd64 Compact C Type Format library (runtime, no BFD dependency)
|
||||
ii libctf0:amd64 2.38-4ubuntu2.6 amd64 Compact C Type Format library (runtime, BFD dependency)
|
||||
ii libcurl3-gnutls:amd64 7.81.0-1ubuntu1.15 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
|
||||
ii libcurl4:amd64 7.81.0-1ubuntu1.15 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)
|
||||
ii libcurl3-gnutls:amd64 7.81.0-1ubuntu1.16 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
|
||||
ii libcurl4:amd64 7.81.0-1ubuntu1.16 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)
|
||||
ii libdb5.3:amd64 5.3.28+dfsg1-0.8ubuntu3 amd64 Berkeley v5.3 Database Libraries [runtime]
|
||||
ii libdebconfclient0:amd64 0.261ubuntu1 amd64 Debian Configuration Management System (C-implementation library)
|
||||
ii libdebuginfod-common 0.186-1build1 all configuration to enable the Debian debug info server
|
||||
@ -162,7 +162,7 @@ ii liblzo2-2:amd64 2.10-2build3 amd64
|
||||
ii libmagic-mgc 1:5.41-3ubuntu0.1 amd64 File type determination library using "magic" numbers (compiled magic file)
|
||||
ii libmagic1:amd64 1:5.41-3ubuntu0.1 amd64 Recognize the type of data in a file using "magic" numbers - library
|
||||
ii libmd0:amd64 1.0.4-1build1 amd64 message digest functions from BSD systems - shared library
|
||||
ii libmount1:amd64 2.37.2-4ubuntu3 amd64 device mounting library
|
||||
ii libmount1:amd64 2.37.2-4ubuntu3.3 amd64 device mounting library
|
||||
ii libmpc3:amd64 1.2.1-2build1 amd64 multiple precision complex floating-point library
|
||||
ii libmpdec3:amd64 2.5.1-2build2 amd64 library for decimal floating point arithmetic (runtime library)
|
||||
ii libmpfr6:amd64 4.1.0-3build3 amd64 multiple precision floating-point computation
|
||||
@ -207,7 +207,7 @@ ii libsensors-config 1:3.6.0-7ubuntu1 all
|
||||
ii libsensors5:amd64 1:3.6.0-7ubuntu1 amd64 library to read temperature/voltage/fan sensors
|
||||
ii libsepol2:amd64 3.3-1build1 amd64 SELinux library for manipulating binary security policies
|
||||
ii libsigsegv2:amd64 2.13-1ubuntu3 amd64 Library for handling page faults in a portable way
|
||||
ii libsmartcols1:amd64 2.37.2-4ubuntu3 amd64 smart column output alignment library
|
||||
ii libsmartcols1:amd64 2.37.2-4ubuntu3.3 amd64 smart column output alignment library
|
||||
ii libsodium23:amd64 1.0.18-1build2 amd64 Network communication, cryptography and signaturing library
|
||||
ii libsource-highlight-common 3.1.9-4.1build2 all architecture-independent files for source highlighting library
|
||||
ii libsource-highlight4v5 3.1.9-4.1build2 amd64 source highlighting library
|
||||
@ -232,7 +232,7 @@ ii libubsan1:amd64 12.3.0-1ubuntu1~22.04 amd64
|
||||
ii libudev1:amd64 249.11-0ubuntu3.12 amd64 libudev shared library
|
||||
ii libunistring2:amd64 1.0-1 amd64 Unicode string library for C
|
||||
ii libutempter0:amd64 1.2.1-2build2 amd64 privileged helper for utmp/wtmp updates (runtime)
|
||||
ii libuuid1:amd64 2.37.2-4ubuntu3 amd64 Universally Unique ID library
|
||||
ii libuuid1:amd64 2.37.2-4ubuntu3.3 amd64 Universally Unique ID library
|
||||
ii libuv1:amd64 1.43.0-1ubuntu0.1 amd64 asynchronous event notification library - runtime library
|
||||
ii libx11-6:amd64 2:1.7.5-1ubuntu0.3 amd64 X11 client-side library
|
||||
ii libx11-data 2:1.7.5-1ubuntu0.3 all X11 client-side library
|
||||
@ -254,7 +254,7 @@ ii libxxhash0:amd64 0.8.1-1 amd64
|
||||
ii libyaml-0-2:amd64 0.2.2-1build2 amd64 Fast YAML 1.1 parser and emitter library
|
||||
ii libzstd-dev:amd64 1.4.8+dfsg-3build1 amd64 fast lossless compression algorithm -- development files
|
||||
ii libzstd1:amd64 1.4.8+dfsg-3build1 amd64 fast lossless compression algorithm
|
||||
ii linux-libc-dev:amd64 5.15.0-100.110 amd64 Linux Kernel Headers for development
|
||||
ii linux-libc-dev:amd64 5.15.0-101.111 amd64 Linux Kernel Headers for development
|
||||
ii login 1:4.8.1-2ubuntu2.2 amd64 system login tools
|
||||
ii logsave 1.46.5-2ubuntu1.1 amd64 save the output of a command in a log file
|
||||
ii lsb-base 11.1.0ubuntu4 all Linux Standard Base init script functionality
|
||||
@ -267,7 +267,7 @@ ii mawk 1.3.4.20200120-3 amd64
|
||||
ii media-types 7.0.0 all List of standard media types and their usual file extension
|
||||
ii mksh 59c-16 amd64 MirBSD Korn Shell
|
||||
ii moreutils 0.66-1 amd64 additional Unix utilities
|
||||
ii mount 2.37.2-4ubuntu3 amd64 tools for mounting and manipulating filesystems
|
||||
ii mount 2.37.2-4ubuntu3.3 amd64 tools for mounting and manipulating filesystems
|
||||
ii ncurses-base 6.3-2ubuntu0.1 all basic terminal type definitions
|
||||
ii ncurses-bin 6.3-2ubuntu0.1 amd64 terminal-related programs and man pages
|
||||
ii ncurses-term 6.3-2ubuntu0.1 all additional terminal type definitions
|
||||
@ -311,12 +311,12 @@ ii ucf 3.0043 all
|
||||
ii universal-ctags 5.9.20210829.0-1 amd64 build tag file indexes of source code definitions
|
||||
ii unzip 6.0-26ubuntu3.2 amd64 De-archiver for .zip files
|
||||
ii usrmerge 25ubuntu2 all Convert the system to the merged /usr directories scheme
|
||||
ii util-linux 2.37.2-4ubuntu3 amd64 miscellaneous system utilities
|
||||
ii vim 2:8.2.3995-1ubuntu2.15 amd64 Vi IMproved - enhanced vi editor
|
||||
ii vim-common 2:8.2.3995-1ubuntu2.15 all Vi IMproved - Common files
|
||||
ii vim-runtime 2:8.2.3995-1ubuntu2.15 all Vi IMproved - Runtime files
|
||||
ii util-linux 2.37.2-4ubuntu3.3 amd64 miscellaneous system utilities
|
||||
ii vim 2:8.2.3995-1ubuntu2.16 amd64 Vi IMproved - enhanced vi editor
|
||||
ii vim-common 2:8.2.3995-1ubuntu2.16 all Vi IMproved - Common files
|
||||
ii vim-runtime 2:8.2.3995-1ubuntu2.16 all Vi IMproved - Runtime files
|
||||
ii wget 1.21.2-2ubuntu1 amd64 retrieves files from the web
|
||||
ii xxd 2:8.2.3995-1ubuntu2.15 amd64 tool to make (or reverse) a hex dump
|
||||
ii xxd 2:8.2.3995-1ubuntu2.16 amd64 tool to make (or reverse) a hex dump
|
||||
ii xz-utils 5.2.5-2ubuntu1 amd64 XZ-format compression utilities
|
||||
ii yash 2.51-1 amd64 yet another shell
|
||||
ii zip 3.0-12build2 amd64 Archiver for .zip files
|
||||
@ -331,7 +331,7 @@ ii zstd 1.4.8+dfsg-3build1 amd64
|
||||
||/ Name Version Architecture Description
|
||||
|
||||
Packages sorted by Installed-Size:
|
||||
754392 ===== TOTAL (325 packages)
|
||||
754396 ===== TOTAL (325 packages)
|
||||
52747 gcc-11 amd64
|
||||
34444 libicu70 amd64
|
||||
32783 vim-runtime all
|
||||
@ -362,7 +362,7 @@ Packages sorted by Installed-Size:
|
||||
7263 libc6-dev-i386 amd64
|
||||
7255 libtsan0 amd64
|
||||
7128 libmagic-mgc amd64
|
||||
7104 coreutils amd64
|
||||
7112 coreutils amd64
|
||||
6988 libx32gcc-11-dev amd64
|
||||
6858 linux-libc-dev amd64
|
||||
6733 dpkg amd64
|
||||
@ -382,7 +382,7 @@ Packages sorted by Installed-Size:
|
||||
3506 re2c amd64
|
||||
3487 gojq amd64
|
||||
3405 libmpfr6 amd64
|
||||
3399 util-linux amd64
|
||||
3395 util-linux amd64
|
||||
3347 libaria2-0 amd64
|
||||
3198 libapt-pkg6.0 amd64
|
||||
3013 libboost-regex1.74.0 amd64
|
||||
|
19
src/help.cpp
19
src/help.cpp
@ -25,6 +25,11 @@
|
||||
<markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
*/
|
||||
|
||||
#if defined(_WIN32_WINNT)
|
||||
static constexpr long long initial_win32_winnt = _WIN32_WINNT + 0LL;
|
||||
#else
|
||||
static constexpr long long initial_win32_winnt = 0;
|
||||
#endif
|
||||
#define WANT_WINDOWS_LEAN_H 1 // _WIN32_WINNT
|
||||
#include "conf.h"
|
||||
#include "compress/compress.h" // upx_ucl_version_string()
|
||||
@ -425,11 +430,14 @@ void show_version(bool one_line) {
|
||||
fprintf(f, "Copyright (C) 1996-2024 Markus Franz Xaver Johannes Oberhumer\n");
|
||||
fprintf(f, "Copyright (C) 1996-2024 Laszlo Molnar\n");
|
||||
fprintf(f, "Copyright (C) 2000-2024 John F. Reiser\n");
|
||||
fprintf(f, "Copyright (C) 2002-2024 Jens Medoch\n");
|
||||
// Jens contributed the ps1/exe format; no need to list as main author
|
||||
// fprintf(f, "Copyright (C) 2002-2024 Jens Medoch\n");
|
||||
#if (WITH_ZLIB)
|
||||
// see vendor/zlib/LICENSE
|
||||
fprintf(f, "Copyright (C) 1995" "-2024 Jean-loup Gailly and Mark Adler\n");
|
||||
#endif
|
||||
#if (WITH_LZMA)
|
||||
// see vendor/lzma-sdk/lzma.txt
|
||||
fprintf(f, "Copyright (C) 1999" "-2006 Igor Pavlov\n");
|
||||
#endif
|
||||
#if (WITH_ZSTD)
|
||||
@ -437,13 +445,15 @@ void show_version(bool one_line) {
|
||||
fprintf(f, "Copyright (C) 2015" "-2024 Meta Platforms, Inc. and affiliates\n");
|
||||
#endif
|
||||
#if (WITH_BZIP2)
|
||||
fprintf(f, "Copyright (C) 1996" "-2010 Julian Seward\n"); // see <bzlib.h>
|
||||
// see <bzlib.h>
|
||||
fprintf(f, "Copyright (C) 1996" "-2010 Julian Seward\n");
|
||||
#endif
|
||||
#if !defined(DOCTEST_CONFIG_DISABLE)
|
||||
// see vendor/doctest/LICENSE.txt
|
||||
fprintf(f, "Copyright (C) 2016" "-2023 Viktor Kirilov\n");
|
||||
#endif
|
||||
fprintf(f, "UPX comes with ABSOLUTELY NO WARRANTY; for details type '%s -L'.\n", progname);
|
||||
// clang-format on
|
||||
fprintf(f, "UPX comes with ABSOLUTELY NO WARRANTY; for details type '%s -L'.\n", progname);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
@ -525,6 +535,8 @@ void show_sysinfo(const char *options_var) {
|
||||
#endif
|
||||
#if defined(_WIN32_WINNT)
|
||||
cf_print("_WIN32_WINNT", "0x%04llx", _WIN32_WINNT + 0);
|
||||
if (initial_win32_winnt != 0 && initial_win32_winnt != _WIN32_WINNT + 0)
|
||||
cf_print("INITIAL_WIN32_WINNT", "0x%04llx", initial_win32_winnt);
|
||||
#endif
|
||||
#if defined(__MSVCRT_VERSION__)
|
||||
cf_print("__MSVCRT_VERSION__", "0x%04llx", __MSVCRT_VERSION__ + 0);
|
||||
@ -556,6 +568,7 @@ void show_sysinfo(const char *options_var) {
|
||||
#endif
|
||||
UNUSED(cf_count);
|
||||
UNUSED(cf_print);
|
||||
UNUSED(initial_win32_winnt);
|
||||
}
|
||||
|
||||
// run-time
|
||||
|
Loading…
Reference in New Issue
Block a user