CI updates
This commit is contained in:
+8
-7
@@ -20,8 +20,8 @@ endif
|
||||
# NOTE that top-level Makefile .DEFAULT_GOAL is build/release
|
||||
.DEFAULT_GOAL = build/debug
|
||||
|
||||
build/debug: $(top_srcdir)/build/debug/upx
|
||||
build/release: $(top_srcdir)/build/release/upx
|
||||
build/debug: $(top_srcdir)/build/debug
|
||||
build/release: $(top_srcdir)/build/release
|
||||
|
||||
.NOTPARALLEL: # because the actual builds use "cmake --parallel"
|
||||
.PHONY: PHONY
|
||||
@@ -33,14 +33,15 @@ debug: build/debug
|
||||
release: build/release
|
||||
all build/all: build/debug build/release
|
||||
|
||||
$(top_srcdir)/build/debug/upx: PHONY
|
||||
$(top_srcdir)/build/debug: PHONY
|
||||
$(MAKE) -C $(top_srcdir) build/debug
|
||||
$(top_srcdir)/build/release/upx: PHONY
|
||||
$(top_srcdir)/build/release: PHONY
|
||||
$(MAKE) -C $(top_srcdir) build/release
|
||||
|
||||
# convenience
|
||||
CTEST = ctest
|
||||
test: $(top_srcdir)/$(.DEFAULT_GOAL)
|
||||
cd $(top_srcdir)/$(.DEFAULT_GOAL) && ctest
|
||||
cd $(top_srcdir)/$(.DEFAULT_GOAL) && $(CTEST)
|
||||
|
||||
#
|
||||
# "make run-testsuite"
|
||||
@@ -69,10 +70,10 @@ run-testsuite: run-testsuite-release
|
||||
run-testsuite-%: export upx_testsuite_SRCDIR := $(upx_testsuite_SRCDIR)
|
||||
run-testsuite-%: export upx_testsuite_BUILDDIR := ./tmp-upx-testsuite
|
||||
run-testsuite-debug: export upx_exe := $(top_srcdir)/build/debug/upx
|
||||
run-testsuite-debug: PHONY $(top_srcdir)/build/debug/upx
|
||||
run-testsuite-debug: PHONY $(top_srcdir)/build/debug
|
||||
time -p bash $(top_srcdir)/misc/testsuite/upx_testsuite_1.sh
|
||||
run-testsuite-release: export upx_exe := $(top_srcdir)/build/release/upx
|
||||
run-testsuite-release: PHONY $(top_srcdir)/build/release/upx
|
||||
run-testsuite-release: PHONY $(top_srcdir)/build/release
|
||||
time -p bash $(top_srcdir)/misc/testsuite/upx_testsuite_1.sh
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -617,13 +617,13 @@ TEST_CASE("libc snprintf") {
|
||||
intmax_t im = ll;
|
||||
uintmax_t um = llu;
|
||||
snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%jd", -4, 0, 0, 0, 0, 0, 0, 0, 4, im);
|
||||
WARN_EQ(strcmp(buf, "-4.0.0.0.0.0.0.0.4.-1"), 0);
|
||||
CHECK_EQ(strcmp(buf, "-4.0.0.0.0.0.0.0.4.-1"), 0);
|
||||
snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%ju", -5, 0, 0, 0, 0, 0, 0, 0, 5, um);
|
||||
WARN_EQ(strcmp(buf, "-5.0.0.0.0.0.0.0.5.18446744073709551615"), 0);
|
||||
CHECK_EQ(strcmp(buf, "-5.0.0.0.0.0.0.0.5.18446744073709551615"), 0);
|
||||
snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%jx", -6, 0, 0, 0, 0, 0, 0, 0, 6, um);
|
||||
WARN_EQ(strcmp(buf, "-6.0.0.0.0.0.0.0.6.ffffffffffffffff"), 0);
|
||||
CHECK_EQ(strcmp(buf, "-6.0.0.0.0.0.0.0.6.ffffffffffffffff"), 0);
|
||||
snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%#jx", -7, 0, 0, 0, 0, 0, 0, 0, 7, um);
|
||||
WARN_EQ(strcmp(buf, "-7.0.0.0.0.0.0.0.7.0xffffffffffffffff"), 0);
|
||||
CHECK_EQ(strcmp(buf, "-7.0.0.0.0.0.0.0.7.0xffffffffffffffff"), 0);
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
||||
@@ -322,6 +322,7 @@ typedef upx_int64_t upx_off_t;
|
||||
#define VALGRIND_MAKE_MEM_UNDEFINED(addr, len) 0
|
||||
#endif
|
||||
|
||||
// TODO later: check __MINGW_PRINTF_FORMAT
|
||||
#if defined(_WIN32) && defined(__MINGW32__) && defined(__GNUC__) && !defined(__clang__)
|
||||
#define attribute_format(a, b) __attribute__((__format__(__gnu_printf__, a, b)))
|
||||
#elif (ACC_CC_CLANG || ACC_CC_GNUC)
|
||||
|
||||
+3
-3
@@ -57,9 +57,9 @@ static_assert(sizeof(void *) == 8);
|
||||
#if !defined(_FILE_OFFSET_BITS)
|
||||
#define _FILE_OFFSET_BITS 64
|
||||
#endif
|
||||
#if defined(_WIN32) && defined(__MINGW32__) && defined(__GNUC__)
|
||||
#if !defined(_USE_MINGW_ANSI_STDIO)
|
||||
#define _USE_MINGW_ANSI_STDIO 1
|
||||
#if defined(_WIN32) && defined(__MINGW32__) && (defined(__clang__) || defined(__GNUC__))
|
||||
#if !defined(__USE_MINGW_ANSI_STDIO)
|
||||
#define __USE_MINGW_ANSI_STDIO 1
|
||||
#endif
|
||||
#endif
|
||||
#if defined(_WIN32)
|
||||
|
||||
+2
-2
@@ -518,8 +518,8 @@ void show_sysinfo(const char *options_var) {
|
||||
#if defined(__MSVCRT_VERSION__)
|
||||
cf_print("__MSVCRT_VERSION__", "0x%04llx", __MSVCRT_VERSION__ + 0);
|
||||
#endif
|
||||
#if defined(_USE_MINGW_ANSI_STDIO)
|
||||
cf_print("_USE_MINGW_ANSI_STDIO", "%lld", _USE_MINGW_ANSI_STDIO + 0, 3);
|
||||
#if defined(__MINGW64_VERSION_MAJOR)
|
||||
cf_print("__MINGW64_VERSION_MAJOR", "%lld", __MINGW64_VERSION_MAJOR + 0);
|
||||
#endif
|
||||
#if defined(__USE_MINGW_ANSI_STDIO)
|
||||
cf_print("__USE_MINGW_ANSI_STDIO", "%lld", __USE_MINGW_ANSI_STDIO + 0, 3);
|
||||
|
||||
+5
-5
@@ -296,8 +296,8 @@ struct FixDeleter final { // helper so we don't leak memory on exceptions
|
||||
} // namespace
|
||||
|
||||
void PeFile::Reloc::RelocationBlock::reset() noexcept {
|
||||
rel = nullptr;
|
||||
rel1 = nullptr;
|
||||
rel = nullptr; // SPAN_0
|
||||
rel1 = nullptr; // SPAN_0
|
||||
count = 0;
|
||||
}
|
||||
|
||||
@@ -335,13 +335,13 @@ void PeFile::Reloc::initSpans() {
|
||||
rb.reset();
|
||||
}
|
||||
|
||||
// check values for better error messages (instead of getting a cryptic SPAN failure)
|
||||
// check values so that we have better error messages (instead of getting a cryptic SPAN failure)
|
||||
bool PeFile::Reloc::readFromRelocationBlock(byte *next_rb) { // set rb
|
||||
assert(!start_did_alloc);
|
||||
const unsigned off = ptr_udiff_bytes(next_rb, start);
|
||||
assert((off & 1) == 0);
|
||||
rb.reset();
|
||||
if (off >= start_size_in_bytes) // use ">=" instead of strict "=="
|
||||
if (off >= start_size_in_bytes) // permissive: use ">=" instead of strict "=="
|
||||
return false; // EOF
|
||||
if (start_size_in_bytes - off < 8)
|
||||
throwCantPack("relocs overflow");
|
||||
@@ -418,7 +418,7 @@ void PeFile::Reloc::finish(byte *(&result_ptr), unsigned &result_size) {
|
||||
for (unsigned ic = 0; ic < counts[0]; ic++) {
|
||||
const auto pos_ptr = start_buf + (RELOC_INPLACE_OFFSET + 4 * ic);
|
||||
const unsigned pos = get_le32(pos_ptr);
|
||||
if (ic > 0 && get_le32(pos_ptr - 4) == pos) // XXX: should we check for duplicates?
|
||||
if (ic > 0 && get_le32(pos_ptr - 4) == pos)
|
||||
if (!opt->force)
|
||||
throwCantPack("duplicate relocs (try --force)");
|
||||
if (ic == 0 || (pos ^ prev) >= 0x10000) {
|
||||
|
||||
Reference in New Issue
Block a user