CI updates
This commit is contained in:
parent
466ceb4a1f
commit
12d1c6bbda
1
.github/workflows/ci.yml
vendored
1
.github/workflows/ci.yml
vendored
@ -653,6 +653,7 @@ jobs:
|
|||||||
# install zig; note that ~/.local/bin is included in the default $PATH on Ubuntu
|
# install zig; note that ~/.local/bin is included in the default $PATH on Ubuntu
|
||||||
mkdir -p -v ~/.local/bin
|
mkdir -p -v ~/.local/bin
|
||||||
cd ~/.local/bin
|
cd ~/.local/bin
|
||||||
|
ZIG_DIST_VERSION=${ZIG_DIST_VERSION/#zig-/}
|
||||||
ZIG_DIST_NAME=zig-linux-x86_64-${ZIG_DIST_VERSION}
|
ZIG_DIST_NAME=zig-linux-x86_64-${ZIG_DIST_VERSION}
|
||||||
ZIG_DIST_NAME=zig-x86_64-linux-${ZIG_DIST_VERSION}
|
ZIG_DIST_NAME=zig-x86_64-linux-${ZIG_DIST_VERSION}
|
||||||
#curl -sS -L -O https://ziglang.org/builds/${ZIG_DIST_NAME}.tar.xz
|
#curl -sS -L -O https://ziglang.org/builds/${ZIG_DIST_NAME}.tar.xz
|
||||||
|
|||||||
@ -57,8 +57,8 @@ endif()
|
|||||||
|
|
||||||
# test config options (see below)
|
# test config options (see below)
|
||||||
# IMPORTANT NOTE: self-pack test can only work if the host executable format is supported by UPX!
|
# IMPORTANT NOTE: self-pack test can only work if the host executable format is supported by UPX!
|
||||||
option(UPX_CONFIG_DISABLE_SELF_PACK_TEST "Do not test packing UPX with itself" OFF)
|
option(UPX_CONFIG_DISABLE_SELF_PACK_TEST "Do not test packing UPX with itself." OFF)
|
||||||
option(UPX_CONFIG_DISABLE_EXHAUSTIVE_TESTS "Do not run exhaustive tests" OFF)
|
option(UPX_CONFIG_DISABLE_EXHAUSTIVE_TESTS "Do not run exhaustive tests." OFF)
|
||||||
|
|
||||||
#***********************************************************************
|
#***********************************************************************
|
||||||
# init
|
# init
|
||||||
|
|||||||
2
Makefile
2
Makefile
@ -104,3 +104,5 @@ check-whitespace clang-format run-testsuite run-testsuite-all run-testsuite-debu
|
|||||||
$(MAKE) -C src $@
|
$(MAKE) -C src $@
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# vim:set ts=8 sw=8 noet:
|
||||||
|
|||||||
5
README
5
README
@ -61,8 +61,9 @@ SHORT DOCUMENTATION
|
|||||||
'upx program.exe' will compress a program or DLL. For best compression
|
'upx program.exe' will compress a program or DLL. For best compression
|
||||||
results try 'upx --best program.exe' or 'upx --brute program.exe'.
|
results try 'upx --best program.exe' or 'upx --brute program.exe'.
|
||||||
|
|
||||||
Please see the file UPX.DOC for the full documentation. The files
|
Please see the file doc/upx-doc.html for the full documentation. The files
|
||||||
NEWS and BUGS also contain various tidbits of information.
|
NEWS and doc/BUGS.txt also contain various tidbits of information, as
|
||||||
|
does the output of 'upx --help'.
|
||||||
|
|
||||||
|
|
||||||
THE FUTURE
|
THE FUTURE
|
||||||
|
|||||||
@ -281,6 +281,7 @@ build/analyze/clang-tidy/debug build/analyze/clang-tidy/release: build/analyze/c
|
|||||||
build/analyze/clang-tidy/debug build/analyze/clang-tidy/release: build/analyze/clang-tidy-ucl/$$(notdir $$@)
|
build/analyze/clang-tidy/debug build/analyze/clang-tidy/release: build/analyze/clang-tidy-ucl/$$(notdir $$@)
|
||||||
build/analyze/clang-tidy/debug build/analyze/clang-tidy/release: build/analyze/clang-tidy-zlib/$$(notdir $$@)
|
build/analyze/clang-tidy/debug build/analyze/clang-tidy/release: build/analyze/clang-tidy-zlib/$$(notdir $$@)
|
||||||
build/analyze/clang-tidy/debug build/analyze/clang-tidy/release: build/analyze/clang-tidy-zstd/$$(notdir $$@)
|
build/analyze/clang-tidy/debug build/analyze/clang-tidy/release: build/analyze/clang-tidy-zstd/$$(notdir $$@)
|
||||||
|
build/analyze/clang-tidy/debug build/analyze/clang-tidy/release: PHONY
|
||||||
|
|
||||||
# OLD names [deprecated]
|
# OLD names [deprecated]
|
||||||
build/extra/scan-build/debug: build/analyze/clang-analyzer/debug PHONY
|
build/extra/scan-build/debug: build/analyze/clang-analyzer/debug PHONY
|
||||||
@ -380,3 +381,5 @@ $(foreach 1,$(SUBMODULES),$(if $(wildcard vendor/$1/[CL]*),,\
|
|||||||
$(error ERROR: missing git submodule '$1'; run 'git submodule update --init')))
|
$(error ERROR: missing git submodule '$1'; run 'git submodule update --init')))
|
||||||
|
|
||||||
endif # UPX_MAKEFILE_EXTRA_MK_INCLUDED
|
endif # UPX_MAKEFILE_EXTRA_MK_INCLUDED
|
||||||
|
|
||||||
|
# vim:set ts=8 sw=8 noet:
|
||||||
|
|||||||
@ -135,7 +135,7 @@ struct BEPolicy final
|
|||||||
S u32_compare_signed(const void *a, const void *b) C { return be32_compare_signed(a, b); }
|
S u32_compare_signed(const void *a, const void *b) C { return be32_compare_signed(a, b); }
|
||||||
S u64_compare_signed(const void *a, const void *b) C { return be64_compare_signed(a, b); }
|
S u64_compare_signed(const void *a, const void *b) C { return be64_compare_signed(a, b); }
|
||||||
|
|
||||||
static void compileTimeAssertions() {
|
static void compileTimeAssertions() noexcept {
|
||||||
COMPILE_TIME_ASSERT(sizeof(U16) == 2)
|
COMPILE_TIME_ASSERT(sizeof(U16) == 2)
|
||||||
COMPILE_TIME_ASSERT(sizeof(U32) == 4)
|
COMPILE_TIME_ASSERT(sizeof(U32) == 4)
|
||||||
COMPILE_TIME_ASSERT(sizeof(U64) == 8)
|
COMPILE_TIME_ASSERT(sizeof(U64) == 8)
|
||||||
@ -194,7 +194,7 @@ struct LEPolicy final
|
|||||||
S u32_compare_signed(const void *a, const void *b) C { return le32_compare_signed(a, b); }
|
S u32_compare_signed(const void *a, const void *b) C { return le32_compare_signed(a, b); }
|
||||||
S u64_compare_signed(const void *a, const void *b) C { return le64_compare_signed(a, b); }
|
S u64_compare_signed(const void *a, const void *b) C { return le64_compare_signed(a, b); }
|
||||||
|
|
||||||
static void compileTimeAssertions() {
|
static void compileTimeAssertions() noexcept {
|
||||||
COMPILE_TIME_ASSERT(sizeof(U16) == 2)
|
COMPILE_TIME_ASSERT(sizeof(U16) == 2)
|
||||||
COMPILE_TIME_ASSERT(sizeof(U32) == 4)
|
COMPILE_TIME_ASSERT(sizeof(U32) == 4)
|
||||||
COMPILE_TIME_ASSERT(sizeof(U64) == 8)
|
COMPILE_TIME_ASSERT(sizeof(U64) == 8)
|
||||||
|
|||||||
@ -262,7 +262,7 @@ ASSERT_SAME_TYPE(short, upx_int16_t);
|
|||||||
ASSERT_SAME_TYPE(unsigned short, upx_uint16_t);
|
ASSERT_SAME_TYPE(unsigned short, upx_uint16_t);
|
||||||
ASSERT_SAME_TYPE(int, upx_int32_t);
|
ASSERT_SAME_TYPE(int, upx_int32_t);
|
||||||
ASSERT_SAME_TYPE(unsigned, upx_uint32_t);
|
ASSERT_SAME_TYPE(unsigned, upx_uint32_t);
|
||||||
#if (__SIZEOF_LONG_LONG__ + 0 < 128)
|
#if (__SIZEOF_LONG_LONG__ + 0 < 16)
|
||||||
ASSERT_SAME_TYPE(long long, upx_int64_t);
|
ASSERT_SAME_TYPE(long long, upx_int64_t);
|
||||||
ASSERT_SAME_TYPE(unsigned long long, upx_uint64_t);
|
ASSERT_SAME_TYPE(unsigned long long, upx_uint64_t);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -119,7 +119,7 @@ static_assert((char) (-1) == 255); // -funsigned-char
|
|||||||
#define upx_std_atomic(Type) Type
|
#define upx_std_atomic(Type) Type
|
||||||
#define upx_std_once_flag upx_std_atomic(size_t)
|
#define upx_std_once_flag upx_std_atomic(size_t)
|
||||||
template <class NoexceptCallable>
|
template <class NoexceptCallable>
|
||||||
inline void upx_std_call_once(upx_std_once_flag &flag, NoexceptCallable &&f) {
|
inline void upx_std_call_once(upx_std_once_flag &flag, NoexceptCallable &&f) noexcept {
|
||||||
if (__acc_unlikely(!flag)) {
|
if (__acc_unlikely(!flag)) {
|
||||||
flag = 1;
|
flag = 1;
|
||||||
f();
|
f();
|
||||||
@ -809,7 +809,7 @@ extern const char *progname;
|
|||||||
bool main_set_exit_code(int ec);
|
bool main_set_exit_code(int ec);
|
||||||
int main_get_options(int argc, char **argv);
|
int main_get_options(int argc, char **argv);
|
||||||
void main_get_envoptions();
|
void main_get_envoptions();
|
||||||
int upx_main(int argc, char *argv[]) may_throw;
|
noinline int upx_main(int argc, char *argv[]) may_throw;
|
||||||
|
|
||||||
// msg.cpp
|
// msg.cpp
|
||||||
void printSetNl(int need_nl) noexcept;
|
void printSetNl(int need_nl) noexcept;
|
||||||
@ -826,8 +826,8 @@ void infoHeader();
|
|||||||
void infoWriting(const char *what, upx_int64_t size);
|
void infoWriting(const char *what, upx_int64_t size);
|
||||||
|
|
||||||
// work.cpp
|
// work.cpp
|
||||||
void do_one_file(const char *iname, char *oname) may_throw;
|
noinline void do_one_file(const char *iname, char *oname) may_throw;
|
||||||
int do_files(int i, int argc, char *argv[]) may_throw;
|
noinline int do_files(int i, int argc, char *argv[]) may_throw;
|
||||||
|
|
||||||
// help.cpp
|
// help.cpp
|
||||||
extern const char gitrev[];
|
extern const char gitrev[];
|
||||||
|
|||||||
@ -857,9 +857,9 @@ void Packer::relocateLoader() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
// void Packer::compressWithFilters():
|
// void Packer::compressWithFilters():
|
||||||
// Try compression with several methods and filters, choose the best
|
// Try compression with several methods and filters, choose the best
|
||||||
/ or first working one. Needs buildLoader().
|
// or first working one. Needs buildLoader().
|
||||||
//
|
//
|
||||||
// Required inputs:
|
// Required inputs:
|
||||||
// this->ph
|
// this->ph
|
||||||
|
|||||||
@ -248,7 +248,7 @@ protected:
|
|||||||
int patch_le32(void *b, int blen, const void *old, unsigned new_);
|
int patch_le32(void *b, int blen, const void *old, unsigned new_);
|
||||||
void checkPatch(void *b, int blen, int boff, int size);
|
void checkPatch(void *b, int blen, int boff, int size);
|
||||||
|
|
||||||
// relocation util
|
// relocation util [see packer_r.cpp]
|
||||||
static unsigned optimizeReloc(unsigned relocnum, SPAN_P(byte) relocs, SPAN_S(byte) out,
|
static unsigned optimizeReloc(unsigned relocnum, SPAN_P(byte) relocs, SPAN_S(byte) out,
|
||||||
SPAN_P(byte) image, unsigned image_size, int bits, bool bswap,
|
SPAN_P(byte) image, unsigned image_size, int bits, bool bswap,
|
||||||
int *big);
|
int *big);
|
||||||
|
|||||||
@ -477,7 +477,6 @@ forceinline constexpr T wrapping_add(const T &a, const T &b) noexcept {
|
|||||||
typedef std::make_unsigned_t<T> U;
|
typedef std::make_unsigned_t<T> U;
|
||||||
return T(U(a) + U(b));
|
return T(U(a) + U(b));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
forceinline constexpr T wrapping_sub(const T &a, const T &b) noexcept {
|
forceinline constexpr T wrapping_sub(const T &a, const T &b) noexcept {
|
||||||
static_assert(std::is_integral_v<T>);
|
static_assert(std::is_integral_v<T>);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user