Commit Graph

12 Commits

Author SHA1 Message Date
Bruce Ashfield
e04f24a55f upx: update doctest SRCREV to a valid commit
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-03-26 17:25:28 +00:00
Bruce Ashfield
d5bda44c06 upx: update to -tip and return to indivdual fetches
Bumping upx to version v4.2.4-62-g44e4bd0b, which comprises the following commits:

    44e4bd0b CI updates
    1427b813 CI updates
    a9cb3542 CI and cmake updates
    b4db17ab cmake update
    ba969fb9 CI updates
    87ac252c CI updates
    ada9081e CI updates
    d6a29e58 CI updates
    03c41840 all: misc cleanups

The upx repository has invalid git commits for SRCREVs
greater than 4.2.4 (and for commits that used to work).

This was reported on the mailing list by Javier Tia <javier.tia@linaro.org>

Older commits seem to work, but we'd have issues updating
the recipe to newer values (tip fo the tree is also broken
for gitsm fetching).

So for now, we switch back to individual fetches that we
can use to control the SRCREVs precisely.

 SRCREVs are from:
   git submodule status | awk '{ commit_hash = $1; sub(/vendor\//, "", $2); gsub("-", "_", $2); printf "SRCREV_vendor_%s = \"%s\"\n", $2, commit_hash }'

with two substitions for invalid SRCREVs (hence why the gitsm fetcher
has issues)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-01 23:59:13 -04:00
Bruce Ashfield
3b9ae7631d upx: update to v4.2.4
Bumping upx to version v4.2.4-54-g03c41840, which comprises the following commits:

    03c41840 all: misc cleanups
    0a82280f cmake update
    a7fa2f87 cmake update
    3a11a5a8 CI updates
    08a38af5 Workaround bug in Alpine Linux
    043a54cf all: minor cleanups
    16c8f6d1 src: portability updates
    285472bc submodules: update for new versions
    a77adcd4 src: new ACC version
    cebd4392 Fix checksum error de-compressing ELF with large .p_align and small blocksize
    64a3de5a FIX PT_GNU_HASH when "empty"
    261609f7 CI updates
    17cf7300 CI updates
    ad566d79 CI updates
    b499ed3d CI updates
    de8de9c0 Option --unmap-all-pages completely avoids /proc/self/exe
    3b36dce5 Mention PT_MIPS_ABIFLAGS forwarding
    dcd8dfd5 CI: add zigcc linux-mips soft-float targets
    78f3b629 src/pefile.cpp: default to strict reloc checks
    a49fe3b0 CI: remove zigcc linux-mips workaround
    f23cc7da CI update: remove macos-11 runner
    cafd9d7a Sync stub checksums
    1b6c1208 64-bit phdrx[], PT_NOTE, PT_GNU_STACK
    99afc50e PT_MIPS_ABIFLAGS, PT_MIPS_REGINFO
    3286f7c5 De-compression of PT_MIPS_ABIFLAGS
    72ccca9f PT_MIPS_ABIFLAGS, compression side only, 32-bit only
    3c294d97 all: minor cleanups
    1aff5f5b all: misc cleanups
    937ae4c5 Avoid crash on outrageous fuzzed input
    056865f5 Detect bad placement of LINK segment
    c58246b4 Detect compressed length too short
    3495d1af all: minor cleanups
    b0ce0723 src: fix compilation on older compilers; update tests
    9f4d18ba src: yet more constexpr updates
    f65c8f8c src: more work on constexpr
    e0633b89 CI updates
    c3341ce4 src: add support for constexpr bele.h
    43f9b90c cmake update
    6ee45dcd CI updates
    34424672 src: more upx::max cleanups
    57763ca1 ELF stubs: go_lang different placement of DT_STRTAB, DT_SYMTAB
    40b7e24f src: introduce upx::max and friends; updates for clang-19 git snapshot
    9e0f16a6 submodules: update for new versions
    33f4f3a5 all: minor clang-tidy cleanups
    07a3b75b submodules: update for new versions
    bdea2539 cmake: use recommended CMAKE install variables
    ed3d7b0c all: minor cleanups
    cba44c45 src: introduce ptr_get_address()
    07b533f9 submodules: update for new versions
    7b0a79de all: update LZMA SDK license information
    befd01aa CI updates
    1cc26362 submodules: update for new versions
    4daa2c1c testsuite: update checksums caused by version bump
    7081c575 all: post-release version bump
    3757579f all: prepare for release
    2962dc35 CI updates
    c04c6854 src: restrict upx::atomic_exchange to pointer-size for now
    72c97699 src: avoid warnings when compiling with llvm-mingw-nightly
    42759b94 all: more clang-tidy cleanups
    aa9e69f0 submodules: update for new versions
    0f3939df src: pacify clang-tidy
    62265a1b fix typos
    76b2cec8 src: fix compilation with clang
    3d82f0cf src: introduce upx::atomic_exchange; cleanups
    e5546bc8 32-bit ELF escape hatch when no fit on last executable page
    6fc0a00a all: update for clang-tidy-18
    3e5ba5c0 CI updates
    4c32a8e3 Fix attempted recovery from corrupted b_info
    2ea316d7 Detect sizeofcmds too small
    548227a5 mb_dt_offsets.clear() prevents undef from corrupted input
    a831a209 unpackExtent detects corrupted compression method
    811f66de Check gnu_shift during unpack
    84d80632 CI updates
    285d4c4c submodules: update for new versions
    8506f5b1 testsuite: update checksums caused by version change
    a87fd56b all: update version
    f0cb30e2 all: minor cleanups
    038743c6 CI updates
    0e6cef99 Guard against empty PT_NOTE
    92c925fe New i386/lzma-multi_d.S enables unpacking more than one block
    4562d545 Some non-ELF --lzma stubs assumed only one block, and <= 0.5MiB
    8393ded1 CI updates
    b0dc4831 CI updates
    3c0ca813 CI updates
    157a63a0 CI updates
    80e22a7e Fix --preserve-build-id
    ddf2da3d cmake: run tests in parallel; misc/podman: add 30-rebuild-stubs.sh
    0e6478a6 submodules: update for new versions
    aed2c085 misc: update mimic_ctest.sh
    a7592b2c all: enhance tests
    265c1008 PowerPC64 nrv2d decompressor
    84e8288f Propagate yesterday's fix to stub decoding on PowerPC
    c69b4561 src: initialize some fields to suppress harmless valgrind errors
    6db0af8d PowerPC cannot branch on CArry; requires contortions
    842d2cbb testsuite: update checksums
    9fb64ded Syscall on powerpc linux wipes arg registers, unlike x86_64
    9d26713b Add experimental (and undocumented) --help-verbose and --help-short options.
    eb3c55b5 all: add more tests
    896596f6 cmake update
    e4de1461 CI updates
    1d2b2764 all: improve tests
    35c6a200 CI updates
    90a7faa1 CI updates
    91f5fe1c arm64 --nrv2d instruction confusion
    d48a7d30 Sync checksums for testsuite_1 (-release)
    bb816f0c arm64 --nrv2d preserve sign when decoding offset
    93abe97e powerpc64le --nrv2d register conflict
    97cf29ff all: enhance CMake tests; assorted updates
    ed35613d misc/podman/rebuild-stubs: upgrade to ubuntu-24.04
    f5ec8363 CI updates
    87956de0 CI updates
    0f931538 cmake: only enable UBSAN for clang versions >= 9
    3538d796 CI updates
    24f38245 CI updates and minor cleanups
    70b20d7d CI updates
    7b21a062 CI updates
    3949af6d Unpacking detects and defends against malicious ELF
    d1f62e3a testsuite: update checksums caused by version bump
    6e644fa4 all: post-release version bump
    5bef9680 all: prepare for release
    543cfe0a submodules: update for new versions
    3ba91b80 cmake update
    a27a9e60 all: and yet more cleanups; NFCI
    7e839e69 all: more cleanups; NFCI
    809a1b3d submodules: update for new versions
    9b80628f src/pefile.cpp: support relocs of large files
    a21a006f all: yet more minor cleanups
    54d16a45 CI updates; cleanups
    cfc5f42e testsuite: update checksums caused by version change
    e3d24238 all: update version
    56e7b369 src: new ACC version
    f2979147 all: yet more cleanups
    52d9b53b all: minor cleanups
    839a78f2 Better fix for previous commit to avoid out-of-bounds pointer.
    680ce0a7 find_dt_ndx defends against overrun
    06b0de9c CI: work-around zig cc mips bad codegen for hard-float
    76b0b7b1 all: clang-format
    fabda4df R_PPC64_REL24 is reallly "PC-rel. 26 bit, word aligned:
    fdcdaf59 all: pacify clang-tidy, CI and cmake updates
    be44cefb CI updates
    c1050e62 submodules: update for new versions
    ae6d3b9b all: more assorted cleanups
    25aa0e2e un_asl_dynsym() should skip when !dynstr
    8f7578ee CI: enable valgrind
    29ce4807 all: minor updates
    41f6945b Fix auxv_up() to avoid SIGSEGV under valgrind
    718ec468 all: more assorted cleanups; NFCI
    d4298014 Avoid &file_image[file_size] because some Standards object
    024091e6 src: fix previous bounds checking commit
    d849e9de src: add some bounds checking to MemBufferBase
    c0e40da2 more checking of Mach_header when unpacking for MachOS
    dff37665 Detect too-large bit-shift in elf_lookup of DT_GNUHASH
    2767ec54 more checking of PackUnix::p_info at unpack
    ac72c027 check nbucket earlier in DT_HASH on ELF
    69c51eee better checking of DT_STRSZ for ELF
    ff5a4eeb ELF versus --brute: addStubEntrySections() needs ph_forced_method()
    b48f8707 Detect circular DT_HASH and DT_GNUHASH lookup
    10807ebd Unpack 8-byte b_info only if (ph.version <= 11): 2001 or earlier
    5d649f83 all: assorted cleanups
    65b25adc submodules: update for new versions
    d615985b elf_find_table_size() did not check for empty table
    b0194409 testsuite: update checksums caused by version year bump
    38ed4b20 arm32, arm64 ABI for -static must preserve register 0
    2ad0d512 PeFile::rebuildImports(): Allow strlen() up to the very end of a logical block
    e4a611bc PeFile ::readPeHeader should check ih.subsystem.
    f3728d99 Check ph.method in PackMachBase::unpack
    b87f60a9 Check Mach_fat_arch.align
    28f26da6 Need more care in PackMachBase::canUnpack()
    d3e780d6 Unpacking ELF requires e_phnum at least 2
    d549c2b5 More care when recovering from slid b_info
    f310ce37 Beware fuzzer setting compressed size too small
    553fc9b1 invert_pt_dynamic: Compilers differ, unsigned vs. signed
    6dde9f7d find_overlay_offset() did not check carefully enough
    3dca1175 invert_pt_dynamic() needs better checking for malformed input
    09c5e383 arm64-linux.elf ABI owns x0 at execve()?
    fe6f1f0b arm64-linux.elf-fold.S typo (eyesight)
    250c656b testsuite: update checksums caused by version bump
    9a0b5b65 all: remove unused scripts
    57b2fb4c all: post-release version bump
    099c3d82 all: prepare for release.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-07-23 15:59:25 +00:00
Fathi Boudra
0c7965ed56 upx: bump to 4.2.2 release
Update upx recipe from 3.96 to 4.2.2 release:
 * Use the gitsm fetcher to get the source code.
 * Add a note to keep using the git repository.
 * Update the homepage.
 * Drop the build dependencies as they're useless. UPX builds using the
   vendor subdirectory, statically linking the libraries.

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-02-21 13:58:56 +00:00
Bruce Ashfield
08435d20b1 recipes/classes/scripts: Drop SRCPV usage
bitbake has been enhanced such that SRCPV is no longer needed in
PV to handle updating git hashes and task signatures.

We can simplify our PV by dropping SRCPV

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-08-24 01:38:21 +00:00
Joakim Roubert
3002a90c6d upx: Use git fetcher instead of gitsm
The current upx will trigger the Bitbake Fetcher Error added in
Kirkstone 4.0.5 189a6d452e3037c9e94ccdf6af38359fc6058064 commit. This
patch replaces gitsm with git and explicitly adds the git submodules
with the corresponding commits.

Change-Id: I1b1231f06481f7a1e25dc35277d0f1725c7631e0
Signed-off-by: Joakim Roubert <joakimr@axis.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-12-07 16:12:33 -05:00
Bruce Ashfield
bf28d97358 upx: update to latest devel release
The upx development branch history has been rebaseed, so we update
our SRCREV to match.

As part of this update, we can drop our patch as it has now been
merged into the project.

The cmake structure has changed slightly, so we inherit cmake-native
to make it available as part of the Makefile driven build.

And finally, the name and location of the binary has changed, so
we adapt our install rule to match.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-12-07 16:12:33 -05:00
Bruce Ashfield
108e089f7e global: update licence values to SPDX values
These changes are the result of running the convert-spdx-licenses.py
oe-core script.

There's no impact to the build, but we will avoid issues when
interacting with core QA by the alignment.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-02-18 13:07:10 -05:00
Bruce Ashfield
0a7ae8bc50 global: convert github SRC_URIs to use https protocol
github is removing git:// access, and fetches will start experiencing
interruptions in service, and eventually will fail completely.

bitbake will also begin to warn on github src_uri's that don't use
https. So we convert the meta-virt instances to use protocol=https
(done using the oe-core contrib conversion script)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-11-02 09:57:03 -04:00
Bruce Ashfield
d876cfc5bf global: overrides syntax conversion
OEcore/bitbake are moving to use the clearer ":" as an overrides
separator.

This is pass one of updating the meta-virt recipes to use that
syntax.

This has only been minimally build/runtime tested, more changes
will be required for missed overrides, or incorrect conversions

Note: A recent bitbake is required:

    commit 75fad23fc06c008a03414a1fc288a8614c6af9ca
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date:   Sun Jul 18 12:59:15 2021 +0100

        bitbake: data_smart/parse: Allow ':' characters in variable/function names

        It is becomming increasingly clear we need to find a way to show what
        is/is not an override in our syntax. We need to do this in a way which
        is clear to users, readable and in a way we can transition to.

        The most effective way I've found to this is to use the ":" charater
        to directly replace "_" where an override is being specified. This
        includes "append", "prepend" and "remove" which are effectively special
        override directives.

        This patch simply adds the character to the parser so bitbake accepts
        the value but maps it back to "_" internally so there is no behaviour
        change.

        This change is simple enough it could potentially be backported to older
        version of bitbake meaning layers using the new syntax/markup could
        work with older releases. Even if other no other changes are accepted
        at this time and we don't backport, it does set us on a path where at
        some point in future we could
        require a more explict syntax.

        I've tested this patch by converting oe-core/meta-yocto to the new
        syntax for overrides (9000+ changes) and then seeing that builds
        continue to work with this patch.

        (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284)

        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02 17:17:53 -04:00
Martin Jansa
670fbe932c upx: fix build with gcc-11
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-05-14 08:28:42 -04:00
Bruce Ashfield
6cae8b8adf k3s: import version locked upx dependency
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-15 23:15:42 -04:00