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
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
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
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
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
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
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
cc994326a0
all: cleanups
2023-01-15 13:49:27 +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
44049ecf30
all: enable WITH_VALGRIND by default
2023-01-13 22:25:15 +01:00
Markus F.X.J. Oberhumer
f00667ad7d
all: minor cleanups, update some comments
2023-01-13 05:37:28 +01:00
Markus F.X.J. Oberhumer
513b00a30e
cmake: update for MSVC_IDE
2023-01-05 14:26:17 +01:00
Markus F.X.J. Oberhumer
0cb0dbf6d8
src: cleanup conf.h
2023-01-05 14:26:12 +01:00
Markus F.X.J. Oberhumer
9f00515da4
CI: fix windows build
2023-01-05 02:29:12 +01:00
Markus F.X.J. Oberhumer
cd686cb1d9
src: add boost-pfr
2023-01-05 00:57:05 +01:00
Markus F.X.J. Oberhumer
72f3e9b25a
all: require C++17
2023-01-03 15:11:11 +01:00
John Reiser
811b15a5b3
Fix crash with TLS init in i386 dll
...
https://github.com/upx/upx/issues/643
modified: .github/travis_testsuite_1-expected_sha256sums.sh
modified: src/stub/i386-win32.pe.h
modified: src/stub/src/i386-win32.pe.S
modified: src/stub/tmp/i386-win32.pe.bin.dump
2023-01-12 18:35:04 -08:00
John Reiser
ab00825f37
i386 shared library TLS init
...
https://github.com/upx/upx/issues/643
modified: .github/travis_testsuite_1-expected_sha256sums.sh
modified: src/p_w32pe.cpp
modified: src/stub/i386-win32.pe.h
modified: src/stub/src/i386-win32.pe.S
modified: src/stub/tmp/i386-win32.pe.bin.dump
2023-01-12 14:34:06 -08:00
John Reiser
e86d9179aa
Sync testsuite
...
modified: .github/travis_testsuite_1-expected_sha256sums.sh
modified: src/p_lx_elf.cpp
2023-01-09 10:51:47 -08:00
John Reiser
26d8e9c4c5
amd64-linux revamp for compressing shared libraries
...
Major changes: p_lx_elf.cpp and stub/src/amd64-linux.elf-so*.
(Includes run-time infrastructure for multiple de-compressors.)
modified: linker.cpp
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: p_unix.cpp
modified: p_unix.h
modified: stub/Makefile
modified: stub/src/amd64-darwin.dylib-entry.S
modified: stub/src/amd64-darwin.macho-entry.S
new file: stub/src/amd64-expand.S
modified: stub/src/amd64-linux.elf-entry.S
new file: stub/src/amd64-linux.elf-so_entry.S
new file: stub/src/amd64-linux.elf-so_fold.S
new file: stub/src/amd64-linux.elf-so_fold.lds
new file: stub/src/amd64-linux.elf-so_main.c
modified: stub/src/amd64-linux.shlib-init.S
modified: stub/src/amd64-win64.pep.S
modified: stub/src/arch/amd64/nrv2b_d.S
modified: stub/src/arch/amd64/nrv2d_d.S
modified: stub/src/arch/amd64/nrv2e_d.S
plus many generated stub/*.h and stub/tmp/*.bin.dump
2023-01-09 09:39:25 -08:00
John Reiser
5f3ebc8a7f
clang-format
...
modified: linker.cpp
2023-01-09 09:33:34 -08:00
John Reiser
425b1b44bc
Initialize output_capacity for loader
...
modified: pefile.cpp
2023-01-09 09:20:43 -08:00
John Reiser
39442e6282
initLoader() 4th parameter allows larger output size
...
modified: packer.cpp
modified: packer.h
2023-01-05 15:28:12 -08:00
John Reiser
99575e1010
ElfLinker::output_capacity
...
modified: linker.cpp
modified: linker.h
2023-01-05 15:25:34 -08:00