Markus F.X.J. Oberhumer
d32f447bda
Merge branch 'devel' into devel4
2023-03-15 22:34:05 +01:00
John Reiser
b74c4e4ac1
Picky, picky static analyzer
...
https://github.com/upx/upx/actions/runs/4422867763/jobs/7755057541
modified: p_lx_elf.cpp
2023-03-15 09:05:02 -07:00
John Reiser
35333403ef
Zero ElfXX_Ehdr.e_sh* info when removing ElfXX_Shdr
...
The aim is less confusion by static linkers: the _Shdr are gone!
https://github.com/upx/upx/issues/659
modified: p_lx_elf.cpp
2023-03-15 08:44:59 -07:00
Markus F.X.J. Oberhumer
a627648249
all: assorted cleanups and updates
...
Changes include:
- add a bunch of "noexcept", mostly to operators and forceinline
- use "uchar"
- use "charptr"
- rename options_t to Options
- add ptr_check_no_overlap()
- rewrite p_exe.cpp, NFCI
- clang-format help.cpp
- spelling fixes
2023-03-15 00:19:55 +01:00
Markus F.X.J. Oberhumer
127fd095e7
CI: add spell-check.yml
2023-03-11 03:11:19 +01:00
John Reiser
f8934c09ff
F*ck MSVC
...
warning C4245: 'return': conversion from 'int' to 'unsigned int', signed/unsigned mismatch
return ~0; // in function declared as returning 'unsigned'. The bits are the same!
modified: p_lx_elf.cpp
2023-03-09 12:00:56 -08:00
John Reiser
7a09c88e30
CI convention sucks
...
renamed: MAX_ELF_HDR.cpp -> MAX_ELF_HDR.h
modified: p_lx_elf.cpp
2023-03-09 11:44:22 -08:00
John Reiser
17526d1132
Make it easier to change MAX_ELF_HDR consistently
...
https://github.com/upx/upx/issues/655
new file: MAX_ELF_HDR.cpp
new file: stub/src/MAX_ELF_HDR.S
new file: stub/src/MAX_ELF_HDR.c
modified: p_lx_elf.cpp
modified: stub/arm.v4a-linux.elf-fold.h
modified: stub/arm64-linux.elf-fold.h
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/amd64-linux.elf-so_main.c
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: stub/src/arm.v4a-linux.elf-so_fold.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-so_fold.S
modified: stub/src/i386-bsd.elf-fold.S
modified: stub/src/i386-bsd.elf-main.c
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/i386-linux.elf-so_main.c
modified: stub/src/i386-linux.elf.interp-fold.S
modified: stub/src/i386-linux.elf.interp-main.c
modified: stub/src/i386-linux.elf.shell-fold.S
modified: stub/src/i386-linux.elf.shell-main.c
modified: stub/src/i386-openbsd.elf-fold.S
modified: stub/src/i386-openbsd.elf-main.c
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: ../.github/travis_testsuite_1-expected_sha256sums.sh
2023-03-09 10:06:13 -08:00
John Reiser
ff7939c1c0
invert_pt_dynamic, sort_DTxx_offsets, elf_find_table_size
...
https://github.com/upx/upx/issues/655
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2023-03-09 09:24:35 -08:00
John Reiser
96c196b1be
Final ph.u_len and ph.c_len reflect multiple compressed extents
...
https://github.com/upx/upx/issues/655
modified: ../.github/travis_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
2023-03-09 09:06:06 -08:00
John Reiser
adb0ca8250
Many changes for ELF shared libraries on Linux and Android
...
Handling more than 2 PT_LOAD (and thus more than 1 executable PT_LOAD)
required extensive changes. But the bonus is the infrastructure
to support a different (de-)compression algorithm for each PT_LOAD.
https://github.com/upx/upx/issues/341 i386 .so decompression
https://github.com/upx/upx/issues/609 armv7 .so on Android
https://github.com/upx/upx/issues/625 amd64 .so execution
https://github.com/upx/upx/issues/654 armv7 .exe
Not yet: .so on MIPS, PowerPC, PowerPC64
2023-03-04 17:37:25 -08:00
Markus F.X.J. Oberhumer
fa56a1d9cd
submodules: update for new versions
2023-02-24 10:59:32 +01:00
Markus F.X.J. Oberhumer
3d691645a4
src: pefile: add checkMachine()
2023-02-21 20:33:40 +01:00
Markus F.X.J. Oberhumer
e1edc5f50a
src: use 'byte' instead of 'upx_byte'; NFCI
2023-02-21 19:27:23 +01:00
Markus F.X.J. Oberhumer
4a8efd2e2f
src: rework optimizeReloc handling; cleanups
2023-02-21 15:19:24 +01:00
Markus F.X.J. Oberhumer
8d364c82e2
CI: add build for windows arm64ec
2023-02-12 19:27:56 +01:00
Markus F.X.J. Oberhumer
c5059231dc
all: rename win32/arm back to wince/arm
2023-02-12 18:58:11 +01:00
Markus F.X.J. Oberhumer
f584c91386
all: canonicalize win32 and win64 file names
2023-02-10 09:49:29 +01:00
Markus F.X.J. Oberhumer
b8d9c2b755
all: assorted updates and cleanups
2023-02-05 17:20:32 +01:00
Markus F.X.J. Oberhumer
163377d1a0
testsuite: update checksums caused by version bump
2023-01-30 13:44:18 +01:00
Markus F.X.J. Oberhumer
8944e90175
all: post-release version bump
2023-01-30 13:39:49 +01:00
Markus F.X.J. Oberhumer
33cdcb0e82
all: prepare for release
2023-01-30 11:18:06 +01:00
Markus F.X.J. Oberhumer
ec870a5aeb
submodules: update for new versions
2023-01-30 11:10:36 +01:00
Markus F.X.J. Oberhumer
0653bb5a72
src: some xspan cleanups
2023-01-30 11:03:11 +01:00
Markus F.X.J. Oberhumer
43b6ff29e3
all: bump tentative release date
2023-01-29 15:39:35 +01:00
Markus F.X.J. Oberhumer
a444a8a704
src: pefile: fix overly tricky canUnpack0 logic
2023-01-29 12:40:00 +01:00
Markus F.X.J. Oberhumer
3fa18c1799
src: clang-format pefile
2023-01-29 12:34:05 +01:00
Markus F.X.J. Oberhumer
19147963b9
src: pefile: try to work-around a scan-build warning
2023-01-29 12:21:15 +01:00
Markus F.X.J. Oberhumer
5056215a1f
all: more assorted cleanups
2023-01-29 11:39:57 +01:00
Markus F.X.J. Oberhumer
340b7614e2
submodules: update for new versions
2023-01-26 18:49:14 +01:00
Markus F.X.J. Oberhumer
8a1bd67a20
src: more valgrind integration
2023-01-26 08:50:30 +01:00
Markus F.X.J. Oberhumer
a094df7b55
all: more cleanups; NFCI
2023-01-24 21:52:10 +01:00
Markus F.X.J. Oberhumer
cc893dfc11
CI: add zigcc and scan-build
2023-01-22 22:07:35 +01:00
Markus F.X.J. Oberhumer
8ef17da082
all: cleanups
2023-01-22 18:44:31 +01:00
Markus F.X.J. Oberhumer
7993e619cd
src: even more outstanding util/xspan renaming; NFC
2023-01-21 19:15:38 +01:00
Markus F.X.J. Oberhumer
1ab8d5fb3f
src: remove currently unused submodules
2023-01-21 18:57:23 +01:00
Markus F.X.J. Oberhumer
213ac3ac73
all: better support for clang Static Analyzer (scan-build)
2023-01-19 19:17:26 +01:00
Markus F.X.J. Oberhumer
0a8876443a
submodules: update for new versions
2023-01-19 19:16:11 +01:00
Markus F.X.J. Oberhumer
f37a3bb9bb
src: new ACC version
2023-01-19 06:26:06 +01:00
Markus F.X.J. Oberhumer
2632342f44
all: remove currently unused submodules
2023-01-19 03:32:49 +01:00
Markus F.X.J. Oberhumer
8efcf6f099
src: move console files into a subdir; NFC
2023-01-18 14:19:15 +01:00
Markus F.X.J. Oberhumer
58343fc78d
src: more outstanding util/xspan renaming; NFC
2023-01-18 10:11:29 +01:00
Markus F.X.J. Oberhumer
6c41a4c9c8
src: move compress files into a subdir; clang-format some more files; NFC
2023-01-18 09:28:12 +01:00
Markus F.X.J. Oberhumer
334be287fc
CI: add minimal-ci
2023-01-17 23:43:24 +01:00
Markus F.X.J. Oberhumer
aa050e0001
cmake: compile compression libs with -O2 even in Debug mode
2023-01-16 09:47:39 +01:00
Markus F.X.J. Oberhumer
cc994326a0
all: cleanups
2023-01-15 13:49:27 +01:00
Markus F.X.J. Oberhumer
58de07629e
submodules: add vendor/rangeless
2023-01-15 03:23:22 +01:00
Markus F.X.J. Oberhumer
9f830e0c41
all: add zstd compression library
2023-01-13 22:25:15 +01:00
Markus F.X.J. Oberhumer
c52d302f07
submodules: add vendor/zstd
2023-01-13 22:25:15 +01:00
Markus F.X.J. Oberhumer
44049ecf30
all: enable WITH_VALGRIND by default
2023-01-13 22:25:15 +01:00