John Reiser
3dcdd25177
re-work -fpie for amd64
...
modified: stub/src/amd64-linux.elf-main.c
2017-04-06 14:22:05 -07:00
John Reiser
491e8640b2
is_pie; O_BINFO; remove LUNMP000, LUNMP001
...
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-04-06 14:15:07 -07:00
John Reiser
b23b7ef85e
DT_FLAGS_1, DF_1_PIE
...
modified: p_elf_enum.h
2017-04-06 14:13:02 -07:00
John Reiser
b167374f13
R_PPC64_ADDR32
...
modified: linker.cpp
2017-04-06 14:12:29 -07:00
John Reiser
cd1f6e733f
Merge branch 'devel' of https://github.com/upx/upx into devel
2017-04-06 09:05:46 -07:00
John Reiser
d3fc7687b8
Fix valgrind error
...
https://travis-ci.org/upx/upx/jobs/218929378
modified: p_lx_elf.cpp
2017-04-06 09:04:13 -07:00
Markus F.X.J. Oberhumer
17a83d58da
clang-format files.
2017-04-05 17:15:29 +02:00
Markus F.X.J. Oberhumer
2c23cbb359
Silence some compiler warnings.
2017-04-05 17:02:42 +02:00
Markus F.X.J. Oberhumer
cdd58cf757
Use proper UPX types.
2017-04-05 16:31:36 +02:00
John Reiser
a59005e836
Elf propagates NX via PT_GNU_STACK (except MIPS stub is too difficult for now)
...
https://github.com/upx/upx/issues/81
modified: ../.github/travis_testsuite_1.sh
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: stub/amd64-linux.elf-entry.h
modified: stub/i386-linux.elf-fold.h
modified: stub/powerpc-linux.elf-fold.h
modified: stub/powerpc64le-linux.elf-fold.h
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/tmp/amd64-linux.elf-entry.bin.dump
modified: stub/tmp/i386-linux.elf-fold.map
modified: stub/tmp/powerpc-linux.elf-fold.map
modified: stub/tmp/powerpc64le-linux.elf-fold.map
2017-04-03 20:25:57 -07:00
John Reiser
5da6a27e6b
Elf propates NX via PT_GNU_STACK (except MIPS stub is too difficult for now)
...
https://github.com/upx/upx/issues/81
modified: ../.github/travis_testsuite_1.sh
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: stub/amd64-linux.elf-entry.h
modified: stub/i386-linux.elf-fold.h
modified: stub/powerpc-linux.elf-fold.h
modified: stub/powerpc64le-linux.elf-fold.h
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/tmp/amd64-linux.elf-entry.bin.dump
modified: stub/tmp/i386-linux.elf-fold.map
modified: stub/tmp/powerpc-linux.elf-fold.map
modified: stub/tmp/powerpc64le-linux.elf-fold.map
2017-04-03 20:11:08 -07:00
John Reiser
ef97af71e3
Merge branch 'jreiser' into devel
2017-04-03 12:57:57 -07:00
John Reiser
6ed67f4532
Unpack prefix with appended data; give message, keep backup
...
https://github.com/upx/upx/issues/4
modified: p_mach.cpp
2017-04-03 12:53:27 -07:00
John Reiser
1278d663b4
Merge branch 'jreiser' into devel
2017-04-02 14:56:26 -07:00
John Reiser
0395c7b407
Use stubtools for arm64.
...
modified: stub/Makefile
modified: stub/arm64-linux.elf-entry.h
modified: stub/arm64-linux.elf-fold.h
modified: stub/arm64-linux.shlib-init.h
modified: stub/tmp/arm64-linux.elf-entry.bin.dump
modified: stub/tmp/arm64-linux.elf-fold.map
modified: stub/tmp/arm64-linux.shlib-init.bin.dump
2017-04-02 14:55:39 -07:00
John Reiser
df3d15ffb3
Enable stub for arm64 shlib. Stub is broken, but at least it packs.
...
modified: p_lx_elf.cpp
2017-03-31 20:01:14 -07:00
John Reiser
6f673310d2
powerpc64le: lzma compression support
...
https://github.com/upx/upx/pull/79
Integration based on:
commit c4bde4369f
Author: Thierry Fauck <tfauck@free.fr>
Date: Fri Mar 24 17:39:30 2017 +0100
powerpc64le: lzma compression support
Signed-off-by: Thierry Fauck <tfauck@free.fr>
modified: powerpc64le-darwin.dylib-entry.h
modified: powerpc64le-darwin.macho-entry.h
modified: powerpc64le-linux.elf-entry.h
modified: powerpc64le-linux.kernel.vmlinux.h
modified: src/arch/powerpc/64le/lzma_d.S
modified: tmp/powerpc64le-darwin.dylib-entry.bin.dump
modified: tmp/powerpc64le-darwin.macho-entry.bin.dump
modified: tmp/powerpc64le-linux.elf-entry.bin.dump
modified: tmp/powerpc64le-linux.kernel.vmlinux.bin.dump
2017-03-31 13:42:43 -07:00
John Reiser
978c3eca23
--android-shlib preserves selected Elf64_Shdr
...
https://github.com/upx/upx/issues/65
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-03-31 13:26:27 -07:00
John Reiser
20bc848bd6
--android-shlib preserves selected Elf64_Shdr
...
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-03-31 13:24:36 -07:00
John Reiser
ce7f1292dc
Merge branch 'devel' into jreiser
2017-03-31 13:10:08 -07:00
John Reiser
d97ff8bb40
More cleanup
...
modified: p_lx_elf.cpp
2017-03-31 12:57:11 -07:00
John Reiser
8a9b46d82f
Cleanup minor bug in unpack ET_EXE
...
modified: p_lx_elf.cpp
2017-03-31 12:42:14 -07:00
John Reiser
12e5703541
Stronger test and better message for PT_LOAD[0].p_offset != 0
...
https://github.com/upx/upx/issues/80
modified: p_lx_elf.cpp
2017-03-31 12:20:02 -07:00
John Reiser
1b87fc2ee6
DT_INIT restored for -d on --android-shlib
...
modified: p_lx_elf.cpp
2017-03-30 15:55:35 -07:00
John Reiser
ebd0c780a1
Unpacking --android-shlib works except for restoring DT_INIT
...
modified: p_lx_elf.cpp
2017-03-30 11:05:49 -07:00
John Reiser
bd976cd562
Merge branch 'devel' into jreiser
...
modified: packmast.cpp
2017-03-30 10:27:54 -07:00
John Reiser
0e511c3e07
visitAllPackers() lists class names when -D
...
modified: packmast.cpp
2017-03-30 10:23:27 -07:00
John Reiser
300d489408
--android-shlib preserves selected Elf32_Shdr
...
32-bit only for now; also in wrong place for unpacking (-d)
modified: main.cpp
modified: options.h
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-03-29 18:31:39 -07:00
John Reiser
024d081167
Fix unpack of ET_DYN
...
https://github.com/upx/upx/issues/73
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-03-27 16:49:46 -07:00
John Reiser
348173d3f1
Fix editing glitch
...
modified: p_lx_elf.cpp
2017-03-27 16:42:26 -07:00
John Reiser
23e3814f8a
Fix unpacking of ET_DYN
...
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-03-27 16:10:12 -07:00
John Reiser
b818e2c4b8
arm64 (aarch64)
...
Tested and working: nrv2b and nrv2e for ET_EXE on linux.
NOT TESTED: lzma, ET_DYN on linux; any Mach-O
modified: bele.h
modified: conf.h
modified: filter/ct.h
modified: filteri.cpp
modified: linker.cpp
modified: linker.h
modified: miniacc.h
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: packmast.cpp
modified: stub/Makefile
modified: stub/arm64-darwin.macho-entry.h
modified: stub/arm64-darwin.macho-fold.h
new file: stub/arm64-linux.elf-entry.h
new file: stub/arm64-linux.elf-fold.h
new file: stub/arm64-linux.shlib-init.h
new file: stub/src/arch/arm64/v8/Makefile.extra
modified: stub/src/arch/arm64/v8/lzma_d-arm.S
modified: stub/src/arch/arm64/v8/lzma_d.S
modified: stub/src/arch/arm64/v8/lzma_d_cf.S
new file: stub/src/arch/arm64/v8/lzma_d_cs.S
modified: stub/src/arch/arm64/v8/macros.S
renamed: stub/src/arch/arm64/v8/nrv2b_d8.S -> stub/src/arch/arm64/v8/nrv2b_d32.S
renamed: stub/src/arch/arm64/v8/nrv2d_d8.S -> stub/src/arch/arm64/v8/nrv2d_d32.S
modified: stub/src/arch/arm64/v8/nrv2e_d32.S
deleted: stub/src/arch/arm64/v8/nrv2e_d8.S
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-darwin.macho-fold.S
new file: stub/src/arm64-linux.elf-entry.S
new file: stub/src/arm64-linux.elf-fold.S
new file: stub/src/arm64-linux.elf-fold.lds
new file: stub/src/arm64-linux.elf-main.c
new file: stub/src/arm64-linux.shlib-init.S
modified: stub/src/include/linux.h
modified: stub/tmp/arm64-darwin.macho-entry.bin.dump
modified: stub/tmp/arm64-darwin.macho-fold.map
new file: stub/tmp/arm64-linux.elf-entry.bin.dump
new file: stub/tmp/arm64-linux.elf-fold.map
new file: stub/tmp/arm64-linux.shlib-init.bin.dump
2017-03-26 13:10:26 -07:00
John Reiser
6adb3dc142
BUILD_TYPE_DEBUG ?= 0
2017-03-26 13:03:49 -07:00
John Reiser
0e154cc759
Hint when need DT_INIT for shared library
...
https://github.com/upx/upx/issues/74
modified: p_lx_elf.cpp
2017-03-25 20:22:04 -07:00
John Reiser
9dce8d9bce
Separate from amd64/bxx.S
...
modified: stub/src/arch/amd64/bxx.S
2017-03-25 20:14:48 -07:00
John Reiser
0aa3b9c487
Revise comment
...
modified: stub/src/arch/amd64/bxx.S
2017-03-25 20:10:50 -07:00
John Reiser
dc7ab3ed30
sync git branch
...
modified: stub/amd64-win64.pep.h
modified: stub/tmp/amd64-win64.pep.bin.dump
2017-03-25 20:08:29 -07:00
John Reiser
254259b354
Fix comment
...
modified: stub/src/arch/amd64/bxx.S
2017-03-25 20:05:32 -07:00
John Reiser
9651c70efd
Revert powerpc-linux.elf-fold.S
...
modified: stub/src/powerpc-linux.elf-fold.S
2017-03-25 17:51:32 -07:00
John Reiser
5840190ed5
Revert xstrip.py
...
modified: stub/scripts/xstrip.py
2017-03-25 17:50:06 -07:00
John Reiser
a807b88694
BUILD_TYPE_DEBUG ?= 1
...
modified: Makefile
2017-03-25 17:40:24 -07:00
John Reiser
0db82e09e9
Suggest fix for missing DT_INIT in shared library.
...
modified: p_lx_elf.cpp
2017-03-25 17:39:47 -07:00
John Reiser
e5865f171a
xstrip.py: *.bindump was unused; clear e_shnum, e_shstrndx
...
Also allow other compilers for powerpc64le and arm64: loosen checking.
modified: stub/Makefile
modified: stub/scripts/xstrip.py
modified: stub/amd64-darwin.dylib-entry.h
modified: stub/amd64-darwin.macho-entry.h
modified: stub/amd64-linux.elf-entry.h
modified: stub/amd64-linux.kernel.vmlinux.h
modified: stub/amd64-linux.shlib-init.h
modified: stub/amd64-win64.pep.h
modified: stub/arm.v4a-linux.elf-entry.h
modified: stub/arm.v4a-wince.pe.h
modified: stub/arm.v4t-wince.pe.h
modified: stub/arm.v5a-darwin.macho-entry.h
modified: stub/arm.v5a-linux.elf-entry.h
modified: stub/arm.v5a-linux.kernel.vmlinux.h
modified: stub/arm.v5a-linux.kernel.vmlinuz.h
modified: stub/arm.v5a-linux.shlib-init.h
modified: stub/arm.v5t-linux.shlib-init.h
modified: stub/arm64-darwin.macho-entry.h
modified: stub/armeb.v4a-linux.elf-entry.h
modified: stub/armeb.v5a-linux.kernel.vmlinux.h
modified: stub/i086-dos16.com.h
modified: stub/i086-dos16.exe.h
modified: stub/i086-dos16.sys.h
modified: stub/i386-bsd.elf-entry.h
modified: stub/i386-bsd.elf.execve-entry.h
modified: stub/i386-darwin.dylib-entry.h
modified: stub/i386-darwin.macho-entry.h
modified: stub/i386-dos32.djgpp2.h
modified: stub/i386-dos32.tmt.h
modified: stub/i386-dos32.watcom.le.h
modified: stub/i386-linux.elf-entry.h
modified: stub/i386-linux.elf.execve-entry.h
modified: stub/i386-linux.elf.interp-entry.h
modified: stub/i386-linux.elf.shell-entry.h
modified: stub/i386-linux.kernel.vmlinux.h
modified: stub/i386-linux.kernel.vmlinuz.h
modified: stub/i386-linux.shlib-init.h
modified: stub/i386-netbsd.elf-entry.h
modified: stub/i386-win32.pe.h
modified: stub/m68k-atari.tos.h
modified: stub/mips.r3000-linux.elf-entry.h
modified: stub/mipsel.r3000-linux.elf-entry.h
modified: stub/mipsel.r3000-ps1.h
modified: stub/powerpc-darwin.dylib-entry.h
modified: stub/powerpc-darwin.macho-entry.h
modified: stub/powerpc-linux.elf-entry.h
modified: stub/powerpc-linux.kernel.vmlinux.h
modified: stub/powerpc64le-darwin.dylib-entry.h
modified: stub/powerpc64le-darwin.macho-entry.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/powerpc64le-linux.kernel.vmlinux.h
2017-03-25 17:09:16 -07:00
John Reiser
166d198dcb
Default BUILD_TYPE_DEBUG
...
modified: Makefile
2017-03-25 16:54:26 -07:00
John Reiser
17c47053d6
Revert amd64/bxx.S to reduce churn of testsuite
...
modified: stub/src/arch/amd64/bxx.S
modified: stub/amd64-darwin.dylib-entry.h
modified: stub/amd64-darwin.macho-entry.h
modified: stub/amd64-darwin.macho-fold.h
modified: stub/amd64-linux.elf-fold.h
modified: stub/amd64-linux.shlib-init.h
modified: stub/amd64-win64.pep.h
2017-03-25 16:34:01 -07:00
John Reiser
b4e18f7521
Remove debugging straggler.
...
modified: src/powerpc-linux.elf-fold.S
modified: powerpc-linux.elf-fold.h
modified: tmp/powerpc-linux.elf-fold.map
2017-03-25 15:48:18 -07:00
John Reiser
543fa3ae79
Revert PackLinuxElf32::unpack() for decompression of armeb-linux.elf/upx-3.91
...
Conflicting with https://github.com/upx/upx/issues/73
modified: p_lx_elf.cpp
2017-03-25 12:52:20 -07:00
John Reiser
f5d65dc0bc
arm64 unfilter
...
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/arm64-linux.elf-fold.h
modified: stub/tmp/arm64-linux.elf-fold.map
2017-03-24 13:55:54 -07:00
John Reiser
2f6211a1d9
xstrip.py slight improvement for powerpc64le and arm64
...
modified: stub/scripts/xstrip.py
2017-03-24 10:54:56 -07:00
John Reiser
513a57330a
xstrip.py: *.bindump was unused; clear e_shnum, e_shstrndx
...
modified: stub/scripts/xstrip.py
modified: stub/Makefile
modified: stub/amd64-darwin.dylib-entry.h
modified: stub/amd64-darwin.macho-entry.h
modified: stub/amd64-linux.elf-entry.h
modified: stub/amd64-linux.kernel.vmlinux.h
modified: stub/amd64-linux.shlib-init.h
modified: stub/amd64-win64.pep.h
modified: stub/arm.v4a-linux.elf-entry.h
modified: stub/arm.v4a-wince.pe.h
modified: stub/arm.v4t-wince.pe.h
modified: stub/arm.v5a-darwin.macho-entry.h
modified: stub/arm.v5a-linux.elf-entry.h
modified: stub/arm.v5a-linux.kernel.vmlinux.h
modified: stub/arm.v5a-linux.kernel.vmlinuz.h
modified: stub/arm.v5a-linux.shlib-init.h
modified: stub/arm.v5t-linux.shlib-init.h
modified: stub/arm64-darwin.macho-entry.h
modified: stub/arm64-linux.elf-entry.h
modified: stub/arm64-linux.shlib-init.h
modified: stub/armeb.v4a-linux.elf-entry.h
modified: stub/armeb.v5a-linux.kernel.vmlinux.h
modified: stub/i086-dos16.com.h
modified: stub/i086-dos16.exe.h
modified: stub/i086-dos16.sys.h
modified: stub/i386-bsd.elf-entry.h
modified: stub/i386-bsd.elf.execve-entry.h
modified: stub/i386-darwin.dylib-entry.h
modified: stub/i386-darwin.macho-entry.h
modified: stub/i386-dos32.djgpp2.h
modified: stub/i386-dos32.tmt.h
modified: stub/i386-dos32.watcom.le.h
modified: stub/i386-linux.elf-entry.h
modified: stub/i386-linux.elf.execve-entry.h
modified: stub/i386-linux.elf.interp-entry.h
modified: stub/i386-linux.elf.shell-entry.h
modified: stub/i386-linux.kernel.vmlinux.h
modified: stub/i386-linux.kernel.vmlinuz.h
modified: stub/i386-linux.shlib-init.h
modified: stub/i386-netbsd.elf-entry.h
modified: stub/i386-win32.pe.h
modified: stub/m68k-atari.tos.h
modified: stub/mips.r3000-linux.elf-entry.h
modified: stub/mipsel.r3000-linux.elf-entry.h
modified: stub/mipsel.r3000-ps1.h
modified: stub/powerpc-darwin.dylib-entry.h
modified: stub/powerpc-darwin.macho-entry.h
modified: stub/powerpc-linux.elf-entry.h
modified: stub/powerpc-linux.kernel.vmlinux.h
modified: stub/powerpc64le-darwin.dylib-entry.h
modified: stub/powerpc64le-darwin.macho-entry.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/powerpc64le-linux.kernel.vmlinux.h
2017-03-24 09:26:40 -07:00
John Reiser
715ddf0620
arm64 hacking
...
modified: stub/src/arch/arm64/v8/macros.S
new file: stub/src/arch/arm64/v8/Makefile.extra
modified: stub/src/arch/arm64/v8/lzma_d-arm.S
modified: stub/src/arch/arm64/v8/lzma_d.S
modified: stub/src/arch/arm64/v8/lzma_d_cf.S
new file: stub/src/arch/arm64/v8/lzma_d_cs.S
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/arm64-darwin.macho-entry.h
modified: stub/arm64-linux.elf-entry.h
modified: stub/arm64-linux.shlib-init.h
modified: stub/tmp/arm64-darwin.macho-entry.bin.dump
modified: stub/tmp/arm64-linux.elf-entry.bin.dump
modified: stub/tmp/arm64-linux.shlib-init.bin.dump
2017-03-23 20:32:41 -07:00
John Reiser
6bb31e276e
Merge branch 'devel' into jreiser
2017-03-23 13:27:09 -07:00
John Reiser
b10f1df49f
Merge branch 'devel' of https://github.com/upx/upx into devel
2017-03-23 13:09:59 -07:00
John Reiser
f999519b13
Sync stubs for 32-bit powerpc
...
modified: stub/src/arch/powerpc/32/Makefile.extra
modified: stub/src/arch/powerpc/32/lzma_d_cf.S
modified: stub/src/arch/powerpc/32/lzma_d_cs.S
modified: stub/powerpc-darwin.dylib-entry.h
modified: stub/powerpc-darwin.macho-entry.h
modified: stub/powerpc-linux.elf-entry.h
modified: stub/powerpc-linux.kernel.vmlinux.h
2017-03-23 13:08:36 -07:00
Markus F.X.J. Oberhumer
aedbf02830
p_lx_elf.cpp: silence a clang-4.0 compilation warning.
2017-03-23 17:43:23 +01:00
John Reiser
bd5479b250
arm64 omit "dc zva," while valgrind complains
...
modified: src/arm64-linux.elf-entry.S
modified: src/arm64-linux.elf-fold.S
modified: arm64-linux.elf-entry.h
modified: arm64-linux.elf-fold.h
modified: tmp/arm64-linux.elf-entry.bin.dump
modified: tmp/arm64-linux.elf-fold.map
2017-03-23 09:12:35 -07:00
Markus F.X.J. Oberhumer
9d14715652
Update Travis.
2017-03-23 13:00:42 +01:00
Thierry Fauck
72156fcf1b
powerpc64le: support for -fpie compiled binaries
...
Signed-off-by: Thierry Fauck <tfauck@free.fr>
modified: powerpc64le-linux.elf-fold.h
modified: src/powerpc64le-linux.elf-fold.S
modified: src/powerpc64le-linux.elf-main.c
modified: tmp/powerpc64le-linux.elf-fold.map
2017-03-23 11:21:50 +01:00
Markus F.X.J. Oberhumer
f9738c5b55
New ACC version.
2017-03-23 01:17:33 +01:00
John Reiser
3b63083619
Cleanup powerpc64 stubs
...
modified: stub/src/powerpc64le-darwin.macho-fold.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/powerpc64le-darwin.macho-fold.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/tmp/powerpc64le-darwin.macho-fold.map
modified: stub/tmp/powerpc64le-linux.elf-entry.bin.dump
2017-03-22 16:50:52 -07:00
John Reiser
d5d7d8bc84
arm64 hacking
...
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-main.c
modified: stub/arm64-linux.elf-fold.h
modified: stub/tmp/arm64-linux.elf-fold.map
2017-03-22 16:45:09 -07:00
John Reiser
f26118cf5a
lzma for powerpc64le: -Os needs _restgpr0_*
...
modified: stub/src/arch/powerpc/64le/Makefile.extra
modified: stub/src/arch/powerpc/64le/ppc_regs.h
modified: stub/src/powerpc64-savegpr0.S
modified: stub/powerpc64le-darwin.dylib-entry.h
modified: stub/powerpc64le-darwin.macho-entry.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/powerpc64le-linux.kernel.vmlinux.h
modified: stub/src/arch/powerpc/64le/lzma_d_cf.S
modified: stub/src/arch/powerpc/64le/lzma_d_cs.S
modified: stub/tmp/powerpc64le-darwin.dylib-entry.bin.dump
modified: stub/tmp/powerpc64le-darwin.macho-entry.bin.dump
modified: stub/tmp/powerpc64le-linux.elf-entry.bin.dump
modified: stub/tmp/powerpc64le-linux.kernel.vmlinux.bin.dump
2017-03-22 14:17:40 -07:00
John Reiser
5d6c4b475c
preloc
...
modified: stub/src/arm64-linux.elf-main.c
2017-03-22 09:03:13 -07:00
John Reiser
2c4ef392f6
arm64-linux hacking; returns from upx_main(), only launch remains!
...
modified: stub/src/arch/arm64/v8/lzma_d.S
modified: stub/src/arch/arm64/v8/nrv2b_d32.S
modified: stub/src/arch/arm64/v8/nrv2d_d32.S
modified: stub/src/arch/arm64/v8/nrv2e_d32.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-main.c
modified: stub/arm64-darwin.macho-entry.h
modified: stub/arm64-linux.elf-entry.h
modified: stub/arm64-linux.elf-fold.h
modified: stub/arm64-linux.shlib-init.h
modified: stub/tmp/arm64-darwin.macho-entry.bin.dump
modified: stub/tmp/arm64-linux.elf-entry.bin.dump
modified: stub/tmp/arm64-linux.elf-fold.map
modified: stub/tmp/arm64-linux.shlib-init.bin.dump
2017-03-21 21:54:49 -07:00
John Reiser
2a128fe772
Work on arm64 decompression
...
renamed: stub/src/arch/arm64/v8/nrv2b_d8.S -> stub/src/arch/arm64/v8/nrv2b_d32.S
renamed: stub/src/arch/arm64/v8/nrv2d_d8.S -> stub/src/arch/arm64/v8/nrv2d_d32.S
modified: stub/src/arch/arm64/v8/nrv2e_d32.S
deleted: stub/src/arch/arm64/v8/nrv2e_d8.S
modified: stub/src/arm64-darwin.macho-entry.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.shlib-init.S
modified: stub/arm64-darwin.macho-entry.h
modified: stub/arm64-linux.elf-entry.h
modified: stub/arm64-linux.elf-fold.h
modified: stub/arm64-linux.shlib-init.h
modified: stub/tmp/arm64-darwin.macho-entry.bin.dump
modified: stub/tmp/arm64-linux.elf-entry.bin.dump
modified: stub/tmp/arm64-linux.elf-fold.map
modified: stub/tmp/arm64-linux.shlib-init.bin.dump
2017-03-20 21:23:15 -07:00
John Reiser
bb7d3ca3a1
Fix PackLinuxElf32::unpack() for shared library?
...
modified: p_lx_elf.cpp
2017-03-20 21:21:46 -07:00
John Reiser
a2bdba7eda
arm64 cache flogging at initial move
...
modified: stub/arm64-linux.elf-entry.h
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/tmp/arm64-linux.elf-entry.bin.dump
2017-03-14 21:36:18 -07:00
John Reiser
e8aabc9980
R_AARCH64_CONDBR19
...
modified: linker.cpp
2017-03-14 21:35:01 -07:00
John Reiser
9f554a14fd
ARM64 hacking
...
modified: p_lx_elf.cpp
modified: stub/src/arch/arm64/v8/macros.S
modified: stub/src/arm64-darwin.macho-fold.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/arm64-darwin.macho-entry.h
modified: stub/arm64-darwin.macho-fold.h
modified: stub/arm64-linux.elf-entry.h
modified: stub/arm64-linux.elf-fold.h
modified: stub/tmp/arm64-darwin.macho-fold.map
modified: stub/tmp/arm64-linux.elf-entry.bin.dump
modified: stub/tmp/arm64-linux.elf-fold.map
2017-03-14 20:08:28 -07:00
John Reiser
68a2b91ccb
arm64 filter, relocation, defineSymbols
...
modified: Makefile
modified: bele.h
modified: filter/ct.h
modified: filteri.cpp
modified: linker.cpp
modified: miniacc.h
modified: p_lx_elf.cpp
modified: stub/arm64-linux.elf-entry.h
modified: stub/src/arm64-linux.elf-entry.S
2017-03-05 21:05:13 -08:00
John Reiser
4089cc6e6f
arm64-linux compiles
...
modified: conf.h
modified: linker.cpp
modified: linker.h
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: packmast.cpp
modified: stub/Makefile
new file: stub/arm64-linux.shlib-init.h
new file: stub/src/arm64-linux.shlib-init.S
new file: stub/tmp/arm64-linux.elf-entry.bin.dump
new file: stub/tmp/arm64-linux.elf-fold.map
new file: stub/tmp/arm64-linux.shlib-init.bin.dump
2017-03-05 18:07:29 -08:00
John Reiser
4e8848eeca
Merge branch 'devel' into jreiser
...
Conflicts:
src/stub/amd64-win64.pep.h
src/stub/powerpc-linux.elf-entry.h
src/stub/powerpc-linux.elf-fold.h
src/stub/src/amd64-win64.pep.S
src/stub/src/arch/powerpc/32/ppc_regs.h
src/stub/src/arch/powerpc/64le/lzma_d.S
src/stub/src/powerpc-linux.elf-entry.S
src/stub/src/powerpc64le-darwin.dylib-entry.S
src/stub/src/powerpc64le-darwin.macho-entry.S
src/stub/src/powerpc64le-linux.elf-entry.S
src/stub/src/powerpc64le-linux.kernel.vmlinux.S
src/stub/tmp/amd64-win64.pep.bin.dump
src/stub/tmp/powerpc-linux.elf-entry.bin.dump
src/stub/tmp/powerpc-linux.elf-fold.map
modified: ../../.github/travis_testsuite_1.sh
modified: ../p_lx_elf.cpp
modified: ../p_unix.cpp
modified: ../p_unix.h
modified: amd64-win64.pep.h
modified: arm.v4a-linux.elf-fold.h
modified: arm.v5a-linux.elf-fold.h
modified: armeb.v4a-linux.elf-fold.h
modified: powerpc-darwin.dylib-entry.h
modified: powerpc-darwin.macho-entry.h
copied: powerpc-darwin.dylib-entry.h -> powerpc-linux.elf-entry.h
modified: powerpc-linux.elf-fold.h
modified: powerpc-linux.kernel.vmlinux.h
modified: powerpc64le-linux.elf-fold.h
modified: src/amd64-win64.pep.S
modified: src/arch/powerpc/32/bxx.S
modified: src/arch/powerpc/32/lzma_d.S
modified: src/arch/powerpc/32/nrv2d_d.S
modified: src/arch/powerpc/32/nrv2e_d.S
modified: src/arch/powerpc/32/ppc_regs.h
modified: src/arch/powerpc/64le/bxx.S
modified: src/arch/powerpc/64le/lzma_d.S
modified: src/arch/powerpc/64le/nrv2b_d.S
modified: src/arch/powerpc/64le/nrv2d_d.S
modified: src/arch/powerpc/64le/nrv2e_d.S
modified: src/arm.v4a-linux.elf-fold.S
modified: src/powerpc-darwin.macho-fold.S
modified: src/powerpc-linux.elf-entry.S
modified: src/powerpc-linux.elf-fold.S
modified: src/powerpc64le-darwin.dylib-entry.S
modified: src/powerpc64le-darwin.macho-entry.S
modified: src/powerpc64le-darwin.macho-fold.S
modified: src/powerpc64le-linux.elf-entry.S
modified: src/powerpc64le-linux.elf-fold.S
modified: src/powerpc64le-linux.kernel.vmlinux.S
modified: tmp/amd64-win64.pep.bin.dump
modified: tmp/arm.v4a-linux.elf-fold.map
modified: tmp/arm.v5a-linux.elf-fold.map
modified: tmp/armeb.v4a-linux.elf-fold.map
modified: tmp/powerpc-darwin.dylib-entry.bin.dump
modified: tmp/powerpc-darwin.macho-entry.bin.dump
modified: tmp/powerpc-linux.elf-entry.bin.dump
modified: tmp/powerpc-linux.elf-fold.map
modified: tmp/powerpc-linux.kernel.vmlinux.bin.dump
2017-03-01 08:14:13 -08:00
John Reiser
8c6133c115
Decompression stubs for arm64-linux (aarch)
...
modified: stub/Makefile
modified: stub/arm64-darwin.macho-entry.h
modified: stub/arm64-darwin.macho-fold.h
new file: stub/arm64-linux.elf-entry.h
new file: stub/arm64-linux.elf-fold.h
modified: stub/scripts/xstrip.py
modified: stub/src/arch/arm64/v8/macros.S
modified: stub/src/arch/arm64/v8/nrv2b_d8.S
modified: stub/src/arch/arm64/v8/nrv2d_d8.S
modified: stub/src/arch/arm64/v8/nrv2e_d8.S
new file: stub/src/arm64-linux.elf-entry.S
new file: stub/src/arm64-linux.elf-fold.S
new file: stub/src/arm64-linux.elf-fold.lds
new file: stub/src/arm64-linux.elf-main.c
modified: stub/src/include/linux.h
2017-03-01 05:47:03 -08:00
John Reiser
483db31acd
arm: Preserve 8-byte alignment of stack pointer
...
https://github.com/upx/upx/issues/60 (partial)
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: ../.github/travis_testsuite_1.sh
modified: stub/arm.v4a-linux.elf-fold.h
modified: stub/arm.v5a-linux.elf-fold.h
modified: stub/armeb.v4a-linux.elf-fold.h
modified: stub/tmp/arm.v4a-linux.elf-fold.map
modified: stub/tmp/arm.v5a-linux.elf-fold.map
modified: stub/tmp/armeb.v4a-linux.elf-fold.map
2017-02-14 20:36:45 -08:00
John Reiser
35dae3dab7
PowerPC 32-bit lzma stub defends against omitted linkage area.
...
https://github.com/upx/upx/issues/60
modified: stub/src/arch/powerpc/32/lzma_d.S
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/powerpc-darwin.dylib-entry.h
modified: stub/powerpc-darwin.macho-entry.h
[WTF?] copied: stub/powerpc-darwin.dylib-entry.h -> stub/powerpc-linux.elf-entry.h
modified: stub/powerpc-linux.elf-fold.h
modified: stub/powerpc-linux.kernel.vmlinux.h
modified: stub/tmp/powerpc-linux.elf-fold.map
modified: stub/tmp/powerpc-darwin.dylib-entry.bin.dump
modified: stub/tmp/powerpc-darwin.macho-entry.bin.dump
modified: stub/tmp/powerpc-linux.elf-entry.bin.dump
modified: stub/tmp/powerpc-linux.kernel.vmlinux.bin.dump
modified: ../.github/travis_testsuite_1.sh
2017-02-12 16:23:57 -08:00
John Reiser
8232aedf78
unpackExtent() segregates rewrite() from write()
...
Fix the reported output file size when un-compressing.
Part of https://github.com/upx/upx/issues/60
modified: p_lx_elf.cpp
modified: p_unix.cpp
modified: p_unix.h
2017-02-11 15:26:27 -08:00
László Molnár
d30a0a2e67
updated filter invocation in win64/pe
2017-02-06 14:31:16 +01:00
John Reiser
d913fe508f
Remove debugging jig
...
modified: ../.github/travis_testsuite_1.sh
modified: stub/powerpc-linux.elf-fold.h
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/tmp/powerpc-linux.elf-fold.map
2017-02-05 15:41:52 -08:00
John Reiser
5db7e826d3
Find and use AT_PAGESZ; forward from -entry to -fold.
...
Cleanup the runtime choice of PAGE_SIZE 4K or 64K
modified: stub/powerpc-linux.elf-entry.h
modified: stub/powerpc-linux.elf-fold.h
modified: stub/src/arch/powerpc/32/ppc_regs.h
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/tmp/powerpc-linux.elf-entry.bin.dump
modified: stub/tmp/powerpc-linux.elf-fold.map
2017-02-05 15:02:31 -08:00
John Reiser
7f3e7da7c7
Stubs LZMA_DEC00 and LZMA_ELF00 fall through; no "+80C" alignment.
...
https://github.com/upx/upx/issues/60 (partial)
addStubEntrySections() and getDecompressorSections()
modified: p_lx_elf.cpp
modified: p_mach.cpp
modified: packer_c.cpp
2017-02-05 14:52:09 -08:00
John Reiser
93cefde8fc
Allow __PAGEZERO.vmsize to be 0x1000 on x86_64, as for "go"-language.
...
https://github.com/upx/upx/issues/59
modified: p_mach.cpp
modified: p_mach.h
2017-02-05 14:50:08 -08:00
John Reiser
02e7981e10
Merge and fix conflics
...
Conflicts:
src/stub/src/arch/powerpc/64le/lzma_d.S
src/stub/src/powerpc64le-darwin.dylib-entry.S
src/stub/src/powerpc64le-darwin.macho-entry.S
src/stub/src/powerpc64le-linux.elf-entry.S
src/stub/src/powerpc64le-linux.kernel.vmlinux.S
modified: stub/src/arch/powerpc/32/lzma_d.S
2017-02-05 14:41:15 -08:00
John Reiser
0ecec10af0
Sync stubs and testsuite.
...
modified: ../.github/travis_testsuite_1.sh
modified: stub/powerpc-linux.elf-entry.h
2017-02-05 14:26:18 -08:00
John Reiser
00b8cba987
typos
...
modified: stub/src/powerpc-linux.elf-entry.S
2017-02-05 14:18:05 -08:00
John Reiser
8486bff918
PowerPC compare instructions: make cr0 explicit, put width ('w' or 'd') into mnemonic.
...
Easier to understand, caught a couple bugs in width.
modified: stub/powerpc-linux.elf-entry.h
modified: stub/powerpc64le-darwin.dylib-entry.h
modified: stub/powerpc64le-darwin.macho-entry.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/powerpc64le-linux.elf-fold.h
modified: stub/powerpc64le-linux.kernel.vmlinux.h
modified: stub/src/arch/powerpc/32/bxx.S
modified: stub/src/arch/powerpc/32/nrv2d_d.S
modified: stub/src/arch/powerpc/32/nrv2e_d.S
modified: stub/src/arch/powerpc/64le/bxx.S
modified: stub/src/arch/powerpc/64le/lzma_d.S
modified: stub/src/arch/powerpc/64le/nrv2b_d.S
modified: stub/src/arch/powerpc/64le/nrv2d_d.S
modified: stub/src/arch/powerpc/64le/nrv2e_d.S
modified: stub/src/powerpc-darwin.macho-fold.S
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc64le-darwin.dylib-entry.S
modified: stub/src/powerpc64le-darwin.macho-entry.S
modified: stub/src/powerpc64le-darwin.macho-fold.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.kernel.vmlinux.S
2017-02-05 14:00:19 -08:00
John Reiser
5305eb5b8a
Sync stubs
...
modified: stub/amd64-darwin.dylib-entry.h
modified: stub/amd64-darwin.macho-entry.h
modified: stub/amd64-darwin.macho-fold.h
modified: stub/amd64-linux.elf-fold.h
modified: stub/amd64-linux.shlib-init.h
modified: stub/amd64-win64.pep.h
modified: stub/powerpc-linux.elf-entry.h
modified: stub/powerpc-linux.elf-fold.h
modified: stub/powerpc64le-darwin.dylib-entry.h
modified: stub/powerpc64le-darwin.macho-entry.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/powerpc64le-linux.kernel.vmlinux.h
modified: stub/src/arch/powerpc/64le/lzma_d.S
modified: stub/src/powerpc64le-darwin.dylib-entry.S
modified: stub/src/powerpc64le-darwin.macho-entry.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.kernel.vmlinux.S
modified: stub/tmp/amd64-win64.pep.bin.dump
modified: stub/tmp/powerpc-linux.elf-entry.bin.dump
modified: stub/tmp/powerpc-linux.elf-fold.map
2017-02-05 13:37:01 -08:00
John Reiser
377a3bb7de
More register definitions
...
modified: stub/src/arch/powerpc/32/ppc_regs.h
2017-02-05 13:32:54 -08:00
John Reiser
5a47e8d2c6
Find and use AT_PAGESZ
...
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
2017-02-05 13:31:17 -08:00
John Reiser
71f4cd7c85
Fix register usage conventions for amd64 unfilter
...
modified: stub/src/amd64-win64.pep.S
modified: stub/src/arch/amd64/bxx.S
2017-02-05 13:29:59 -08:00
John Reiser
f7751684af
Stubs LZMA_DEC00 and LZMA_ELF00 fall through; no "+80C" alignment.
...
addStubEntrySections() and getDecompressorSections()
modified: p_lx_elf.cpp
modified: p_mach.cpp
modified: packer_c.cpp
2017-02-05 13:26:02 -08:00
John Reiser
2cefd34bb7
Allow __PAGEZERO.vmsize to be 0x1000 on x86_64, as for "go"-language.
...
https://github.com/upx/upx/issues/59
modified: p_mach.cpp
modified: p_mach.h
2017-02-03 15:12:40 -08:00
Thierry Fauck
eac891dc3a
Typo in .bss bzeroing
...
Rebuild of powerpc64le stubs
Signed-off-by: Thierry Fauck <tfauck@free.fr>
modified: stub/powerpc64le-darwin.dylib-entry.h
modified: stub/powerpc64le-darwin.macho-entry.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/powerpc64le-linux.elf-fold.h
modified: stub/powerpc64le-linux.kernel.vmlinux.h
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-main.c
modified: stub/tmp/powerpc64le-linux.elf-fold.map
2017-02-03 10:57:05 +01:00
Thierry Fauck
abd3599408
Explicitely specify cmp instructions to be 32 bits or 64bits on powerpc
...
(Thanks to John Reiser).
Signed-off-by: Thierry Fauck <tfauck@free.fr>
modified: src/arch/powerpc/32/bxx.S
modified: src/arch/powerpc/32/lzma_d.S
modified: src/arch/powerpc/64le/bxx.S
modified: src/arch/powerpc/64le/lzma_d.S
modified: src/arch/powerpc/64le/nrv2b_d.S
modified: src/arch/powerpc/64le/nrv2d_d.S
modified: src/arch/powerpc/64le/nrv2e_d.S
modified: src/powerpc64le-darwin.dylib-entry.S
modified: src/powerpc64le-darwin.macho-entry.S
modified: src/powerpc64le-darwin.macho-fold.S
modified: src/powerpc64le-linux.elf-entry.S
modified: src/powerpc64le-linux.elf-fold.S
modified: src/powerpc64le-linux.kernel.vmlinux.S
2017-02-03 10:55:14 +01:00
John Reiser
1bcd259c00
Merge branch 'devel' of https://github.com/upx/upx into devel
2017-02-01 17:17:31 -08:00
Thierry Fauck
c4e835266c
Typo in .bss bzeroing
...
Signed-off-by: Thierry Fauck <tfauck@free.fr>
modified: src/stub/powerpc64le-linux.elf-fold.h
modified: src/stub/src/powerpc64le-linux.elf-fold.S
modified: src/stub/src/powerpc64le-linux.elf-main.c
modified: src/stub/tmp/powerpc64le-linux.elf-fold.map
2017-01-30 18:53:34 +01:00
Thierry Fauck
685953f6a5
Explicitely specify cmp instructions to be 32 bits or 64bits on powerpc
...
Signed-off-by: Thierry Fauck <tfauck@free.fr>
modified: stub/src/arch/powerpc/32/bxx.S
modified: stub/src/arch/powerpc/64le/bxx.S
modified: stub/src/arch/powerpc/64le/lzma_d.S
modified: stub/src/arch/powerpc/64le/nrv2b_d.S
modified: stub/src/arch/powerpc/64le/nrv2d_d.S
modified: stub/src/arch/powerpc/64le/nrv2e_d.S
modified: stub/src/powerpc64le-darwin.dylib-entry.S
modified: stub/src/powerpc64le-darwin.macho-entry.S
modified: stub/src/powerpc64le-darwin.macho-fold.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.kernel.vmlinux.S
2017-01-30 00:34:45 +01:00
John Reiser
03fffbc724
Re-base to upx-3.93
...
modified: src/stub/src/arch/amd64/bxx.S
2017-01-29 06:58:03 -08:00
Markus F.X.J. Oberhumer
e1a8c932ee
Cleanup snprintf.cpp.
2017-01-29 14:11:46 +01:00
Markus F.X.J. Oberhumer
1aa2a6b054
Add missing src/stub/tmp/*.map files to repo.
2017-01-29 14:10:12 +01:00
Markus F.X.J. Oberhumer
f69199909f
Post-release version bump.
2017-01-29 14:05:00 +01:00
John Reiser
bf3ddeb1eb
Rebuild stubs.
...
modified: amd64-darwin.dylib-entry.h
modified: amd64-darwin.macho-entry.h
modified: amd64-darwin.macho-fold.h
modified: amd64-linux.elf-fold.h
modified: amd64-linux.kernel.vmlinux.h
modified: amd64-linux.shlib-init.h
modified: amd64-win64.pep.h
modified: i386-bsd.elf-entry.h
modified: i386-bsd.elf.execve-entry.h
modified: i386-darwin.dylib-entry.h
modified: i386-darwin.macho-entry.h
modified: i386-dos32.djgpp2.h
modified: i386-dos32.tmt.h
modified: i386-dos32.watcom.le.h
modified: i386-linux.elf-entry.h
modified: i386-linux.elf.execve-entry.h
modified: i386-linux.elf.interp-entry.h
modified: i386-linux.kernel.vmlinux.h
modified: i386-linux.kernel.vmlinuz.h
modified: i386-linux.shlib-init.h
modified: i386-netbsd.elf-entry.h
modified: i386-win32.pe.h
modified: tmp/amd64-darwin.dylib-entry.bin.dump
modified: tmp/amd64-darwin.macho-entry.bin.dump
modified: tmp/amd64-linux.shlib-init.bin.dump
modified: tmp/amd64-win64.pep.bin.dump
2017-01-29 14:01:57 +01:00
John Reiser
fc261ad8cd
Smaller by 7 bytes; also slower.
...
https://github.com/upx/upx/issues/43
modified: bxx.S
2017-01-29 14:01:56 +01:00
John Reiser
90fc018295
Avoid sigsegv after "patchelf --set-rpath"
...
https://github.com/upx/upx/issues/47
Enhancement not yet implemented: non-adjacent ElfXX_Ehdr and ElfXX_Phdr.
modified: p_unix.cpp
2017-01-29 14:01:56 +01:00
John Reiser
cdc01d9a69
linux.sh/i386 interpreter.e_machine must be EM_386; else execve()
...
https://github.com/upx/upx/issues/53
modified: stub/i386-linux.elf.shell-fold.h
modified: stub/src/i386-linux.elf.shell-fold.S
modified: stub/src/i386-linux.elf.shell-main.c
2017-01-29 14:01:56 +01:00
John Reiser
da7e76c07d
Document location of checksums for testsuite.
...
modified: Makefile
2017-01-29 14:01:56 +01:00
John Reiser
ba9118aa58
Bug in unfilter on x86* when region ends in 32-bit displacement.
...
https://github.com/upx/upx/issues/43
modified: stub/src/arch/amd64/bxx.S
modified: stub/src/arch/i386/macros.S
plus all the stubs that use them
2017-01-29 14:01:56 +01:00
Markus F.X.J. Oberhumer
fdce705e55
Bump release date.
2017-01-29 12:07:00 +01:00
Markus F.X.J. Oberhumer
f502f41359
Update conf.h.
2017-01-28 22:39:42 +01:00
Markus F.X.J. Oberhumer
34c9cfb6b0
Don't use "long".
2017-01-28 22:39:42 +01:00
Markus F.X.J. Oberhumer
6da1790c46
New ACC version.
2017-01-28 22:39:42 +01:00
Markus F.X.J. Oberhumer
c940d2906f
Mention win64/pe in help usage text.
2017-01-17 01:56:58 +01:00
Markus F.X.J. Oberhumer
ea7a1ad2c7
Bump version date.
2017-01-15 15:51:33 +01:00
Markus F.X.J. Oberhumer
45ddd6a68d
Enable wildcard expansion on newer mingw versions.
2017-01-15 15:47:53 +01:00
Markus F.X.J. Oberhumer
14710dea55
Replace some negative enum constants with "static const unsigned" vars.
2017-01-03 12:57:10 +01:00
Markus F.X.J. Oberhumer
5d3be8da1d
Silence a MSVC warning.
2017-01-03 12:37:35 +01:00
Markus F.X.J. Oberhumer
fba51dabd0
Bump UPX_VERSION_DATE.
2017-01-03 12:06:17 +01:00
Markus F.X.J. Oberhumer
c4da5e81fa
Welcome 2017.
2017-01-03 12:02:07 +01:00
Markus F.X.J. Oberhumer
bc80d81432
Silence a bogus scan-build warning.
2016-12-30 23:59:31 +01:00
László Molnár
67797efead
fixed relocation handling regression in win32/pe (issue #38 )
2016-12-30 23:18:32 +01:00
László Molnár
c7cb036536
fixed data corruption in import handling (issue #32,#34)
2016-12-30 21:31:50 +01:00
Markus F.X.J. Oberhumer
0ccbc5f139
Silence some bogus coverity warnings.
2016-12-21 19:03:01 +01:00
Markus F.X.J. Oberhumer
2a6bbcaf8f
Fix a p_w64pep.cpp issue detected by coverity.
2016-12-21 19:01:55 +01:00
Markus F.X.J. Oberhumer
d46a8438ba
Remove unused option "--script=".
2016-12-19 23:44:10 +01:00
Markus F.X.J. Oberhumer
cc9d19da19
Remove unused PackLinuxI386sep.
2016-12-19 23:29:42 +01:00
Markus F.X.J. Oberhumer
61652a2989
Remove unused PackSolarisSparc.
2016-12-19 23:23:25 +01:00
Markus F.X.J. Oberhumer
edd7503607
Update executable format constants.
2016-12-19 23:18:38 +01:00
Markus F.X.J. Oberhumer
c9d6dab401
Remove unused p_elks.cpp.
2016-12-19 23:14:08 +01:00
Markus F.X.J. Oberhumer
d303038bcb
Remove unused p_vxd.h.
2016-12-19 23:12:05 +01:00
Markus F.X.J. Oberhumer
0a0e7c3b7c
Remove unused p_w16ne.cpp.
2016-12-19 23:11:00 +01:00
Markus F.X.J. Oberhumer
0b4ac35bc9
Tune some MSVC warnings.
2016-12-19 22:57:43 +01:00
László Molnár
c51864ca39
fixed TLS callback handling for PE64
2016-12-18 23:34:27 +01:00
John Reiser
a1cabd5a68
Avoid warning C4805: '|': unsafe mix of type 'bool' and type 'unsigned int' in operation
...
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2016-12-18 11:32:47 -08:00
John Reiser
9c1bc99d7a
Avoid warning C4146: unary minus operator applied to unsigned type, result still unsigned
...
modified: p_mach.cpp
2016-12-16 10:59:51 -08:00
Markus F.X.J. Oberhumer
c05fedcb76
Update Travis.
2016-12-14 16:27:51 +01:00
Markus F.X.J. Oberhumer
4749e0d71e
Post-release version bump.
2016-12-11 17:50:03 +01:00
Markus F.X.J. Oberhumer
1c01b77a71
Bump release date.
2016-12-11 16:12:06 +01:00
Markus F.X.J. Oberhumer
efd5bc24b0
Bump tentative release date.
2016-12-01 00:40:54 +01:00
John Reiser
fc1287659a
de-tab (comments, too?)
...
modified: stub/src/powerpc-darwin.macho-upxmain.c
2016-11-21 14:02:57 -08:00
John Reiser
322f682d32
re-generate stub
...
modified: powerpc-darwin.macho-upxmain.h
2016-11-21 08:26:08 -08:00
John Reiser
0e329336fc
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-11-21 08:23:05 -08:00
John Reiser
b33bdabbb6
powerpc Mach-o cleanup
...
modified: stub/powerpc-darwin.macho-upxmain.exe
new file: stub/src/powerpc-darwin.macho-upxmain.c
2016-11-21 08:22:09 -08:00
Markus F.X.J. Oberhumer
27d30121ab
Bump tentative release date.
2016-11-20 15:07:46 +01:00
Markus F.X.J. Oberhumer
345278f309
Re-enable assertion in xstrip.py.
2016-11-20 15:07:46 +01:00
Markus F.X.J. Oberhumer
4953e77161
upx-clang-format -i linker.cpp linker.h
2016-11-20 14:20:36 +01:00
Markus F.X.J. Oberhumer
8d61e037f9
Cleanups.
2016-11-20 14:17:21 +01:00
Markus F.X.J. Oberhumer
33a51e69bf
Update submodules.
2016-11-20 13:56:42 +01:00
Markus F.X.J. Oberhumer
8772e52513
Remove old cruft.
2016-11-20 13:51:53 +01:00
John Reiser
9e1631ad4f
avoid null section name and zero alignment; enforce record === line
...
modified: linker.cpp
modified: linker.h
2016-11-19 17:38:23 -08:00
John Reiser
134b829d59
prevent warning C4319: '~': zero extending 'const unsigned int' to 'upx_uint64_t' of greater size
...
modified: linker.cpp
modified: p_lx_elf.cpp
modified: pefile.cpp
2016-11-19 16:46:01 -08:00
John Reiser
3df7d26101
propagate cpusubtype
...
modified: p_mach.cpp
modified: p_mach.h
2016-11-14 05:06:29 -08:00
John Reiser
cf56086f06
powerpc-darwin.macho-: remove debugging 'trap' :-)
...
modified: stub/powerpc-darwin.macho-upxmain.exe
modified: stub/powerpc-darwin.macho-upxmain.h
modified: stub/src/powerpc-darwin.macho-upxsubr.S
2016-11-12 20:13:12 -08:00
John Reiser
a72aca4379
powerpc (32-bit) works on MacOS using Sierra-compatible strategy.
...
modified: p_mach.cpp
modified: p_mach.h
modified: stub/powerpc-darwin.macho-entry.h
modified: stub/powerpc-darwin.macho-upxmain.exe
modified: stub/powerpc-darwin.macho-upxmain.h
modified: stub/src/powerpc-darwin.macho-entry.S
modified: stub/src/powerpc-darwin.macho-upxsubr.S
modified: stub/tmp/powerpc-darwin.macho-entry.bin.dump
2016-11-12 19:48:19 -08:00
John Reiser
edb0b7519a
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-11-09 06:08:44 -08:00
John Reiser
3f14b9dab7
LC_UNIXTHREAD in ::pass4
...
modified: p_mach.cpp
2016-11-08 17:53:02 -08:00
Thierry Fauck
b1c07c22ce
powerpc64le -fpic dynamically linked binary support
...
Update stub for -fpic support
Handle 64K page in p_lx_elf.cpp
Signed-off-by: Thierry Fauck <tfauck@free.fr>
2016-11-08 18:29:10 +01:00
John Reiser
3b2c411274
Work on 32-bit PowerPC
...
modified: p_mach.cpp
modified: p_mach.h
2016-11-06 20:39:01 -08:00
John Reiser
e418af1ccd
Try to fix 32-bit PowerPC.
...
modified: p_mach.cpp
modified: p_mach.h
modified: stub/Makefile
new file: stub/powerpc-darwin.macho-upxmain.exe
new file: stub/powerpc-darwin.macho-upxmain.h
new file: stub/src/powerpc-darwin.macho-upxsubr.S
2016-11-06 17:59:16 -08:00
John Reiser
7dc004acb3
bug in other-endian ::canPack and ::canUnpack
...
modified: p_mach.cpp
2016-11-05 14:02:51 -07:00
John Reiser
2635472896
more unpacking for Mach-o (pre-3.91 ?)
...
modified: p_mach.cpp
modified: p_mach.h
2016-11-05 13:16:16 -07:00
John Reiser
5c0340f9ae
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-10-19 15:20:04 -07:00
John Reiser
c2c970ee33
pacify c++-analyzer
...
modified: p_lx_elf.cpp
2016-10-19 15:19:33 -07:00
Markus F.X.J. Oberhumer
1e7950f671
Rebuild src/stubs from current sources. UNTESTED.
2016-10-19 14:59:33 +02:00
Thierry Fauck
8fde05191a
powerpc: Omit -Os flag to avoid use of savegrp*
...
Signed-off-by: Thierry Fauck <tfauck@free.fr>
modified: stub/Makefile
2016-10-19 14:41:18 +02:00
John Reiser
44328aee76
fix brk() problem when is_big: stub must munmap all_pages
...
https://github.com/upx/upx/issues/5
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2016-10-15 14:06:56 -07:00
Markus F.X.J. Oberhumer
f606b5879b
Update Travis.
2016-10-11 22:33:45 +02:00
Thierry Fauck
9b86e68268
POWERPC: Allocate 4K / 64K pages depending on processor type.
...
Powerpc: ppc64le processor - Fix nrv2x-d.S compression routines
xstrip - disallow assert at line 178
Signed-off-by: Thierry Fauck <tfauck@free.fr>
modified: powerpc-darwin.dylib-entry.h
modified: powerpc-darwin.macho-entry.h
modified: powerpc-darwin.macho-fold.h
modified: powerpc-linux.elf-entry.h
modified: powerpc-linux.elf-fold.h
modified: powerpc-linux.kernel.vmlinux.h
modified: powerpc64le-darwin.dylib-entry.h
modified: powerpc64le-darwin.macho-entry.h
modified: powerpc64le-darwin.macho-fold.h
modified: powerpc64le-linux.elf-entry.h
modified: powerpc64le-linux.elf-fold.h
modified: powerpc64le-linux.kernel.vmlinux.h
modified: scripts/xstrip.py
modified: src/arch/powerpc/64le/nrv2b_d.S
modified: src/arch/powerpc/64le/nrv2d_d.S
modified: src/arch/powerpc/64le/nrv2e_d.S
modified: src/powerpc-linux.elf-entry.S
modified: src/powerpc-linux.elf-fold.S
modified: src/powerpc-linux.elf-main.c
modified: tmp/powerpc-linux.elf-entry.bin.dump
modified: tmp/powerpc64le-darwin.dylib-entry.bin.dump
modified: tmp/powerpc64le-darwin.macho-entry.bin.dump
modified: tmp/powerpc64le-linux.elf-entry.bin.dump
modified: tmp/powerpc64le-linux.kernel.vmlinux.bin.dump
2016-10-11 09:52:40 -04:00
John Reiser
d688a05ac7
DT_JMPREL vanished (binutils-2.26.1); check all DT_RELA.
...
modified: p_elf_enum.h
modified: p_lx_elf.cpp
2016-10-09 21:50:45 -07:00
John Reiser
9dd0e3ce4f
c++-analyzer finds the speck but misses the log.
...
modified: p_mach.cpp
2016-10-09 09:34:33 -07:00
John Reiser
ca2293f6d3
c++-analyzer needs improved range tracking.
...
modified: p_lx_elf.cpp
2016-10-09 09:33:35 -07:00
Markus F.X.J. Oberhumer
b0207ce524
Some refactoring. NFC.
2016-10-09 13:23:19 +02:00
László Molnár
297d44c614
PE: fixed file data alignment problem
2016-10-09 11:29:29 +02:00
Markus F.X.J. Oberhumer
22178f2224
Minor cleanups.
2016-10-09 03:12:19 +02:00
Markus F.X.J. Oberhumer
4157affbd7
pefile: make kernelDLL() return the same strings as in UPX 3.91.
2016-10-09 02:53:20 +02:00
Markus F.X.J. Oberhumer
4b991203df
pefile.cpp: make import sorting independent from qsort() internals.
2016-10-09 00:48:40 +02:00
Markus F.X.J. Oberhumer
38a265741c
Ongoing cleanups.
2016-10-08 18:49:14 +02:00
Markus F.X.J. Oberhumer
ed900b0476
More thorough use of O_BINARY.
2016-10-07 15:04:12 +02:00
John Reiser
42206364e5
Reduce Mach-o headers
...
modified: p_mach.cpp
2016-10-06 16:06:24 -07:00
John Reiser
82d9bb8f51
Fix namespace typedefs for Mach-o structs [upx_uint32_t ==> Word]
...
modified: p_mach.cpp
modified: p_mach.h
2016-10-06 14:00:05 -07:00
John Reiser
923a9d3f9b
Template PackMackBase<T>::pack3. Use more templates for ::pack4.
...
modified: p_mach.cpp
modified: p_mach.h
2016-10-06 08:55:09 -07:00
John Reiser
ae7660068b
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-10-06 07:49:52 -07:00
John Reiser
f466c1d764
Cosmetic
...
modified: p_mach.cpp
2016-10-06 07:49:37 -07:00
Markus F.X.J. Oberhumer
6e76f8ef3a
Don't use variable length arrays (VLA).
2016-10-06 13:04:46 +02:00
Markus F.X.J. Oberhumer
b3a8d02caf
Cosmetic cleanups.
2016-10-06 12:31:03 +02:00
Markus F.X.J. Oberhumer
022ba32c1a
Improve robustness of seek() by adding some sanity checks.
2016-10-06 12:11:32 +02:00
Markus F.X.J. Oberhumer
8f5e89c900
Update testsuite.
2016-10-06 11:19:31 +02:00
Markus F.X.J. Oberhumer
d335d7bafd
p_mach.h: fix C++ syntax.
2016-10-06 09:51:58 +02:00
John Reiser
1f51ef7df6
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-10-05 17:16:53 -07:00
Markus F.X.J. Oberhumer
ec082ee023
Cosmetic cleanup.
2016-10-06 00:45:42 +02:00
John Reiser
791fd9199e
Preserve alignment in .text
...
modified: p_mach.cpp
2016-10-05 12:52:52 -07:00
John Reiser
9e8baf1914
i386 for MacOS 10.12 "Sierra"
...
modified: p_mach.cpp
modified: stub/i386-darwin.macho-entry.h
modified: stub/src/i386-darwin.macho-entry.S
modified: stub/tmp/i386-darwin.macho-entry.bin.dump
2016-10-05 11:25:16 -07:00
John Reiser
64b7080532
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-10-04 21:05:44 -07:00
John Reiser
8fd5479f32
Templates for ::pack4; i386 now packs, needs work before running.
...
modified: p_mach.cpp
modified: p_mach.h
new file: stub/i386-darwin.macho-upxmain.exe
new file: stub/i386-darwin.macho-upxmain.h
new file: stub/src/i386-darwin.macho-upxmain.c
2016-10-04 19:58:04 -07:00
John Reiser
07b41b9bc3
i386-darwin.macho-upxmain.h
...
modified: Makefile
2016-10-04 10:48:44 -07:00
John Reiser
8ebadfafe9
Standalone bswap, bzero, syscalls for i386-darwin.macho
...
new file: i386-darwin.macho-upxsubr.S
2016-10-04 10:46:59 -07:00
John Reiser
3283896e4b
Templatize ::buildLoader
...
modified: p_mach.cpp
modified: p_mach.h
2016-10-04 08:54:55 -07:00
John Reiser
b444bcf418
On the way to templates and mach-o/i386.
...
modified: p_mach.cpp
modified: p_mach.h
2016-10-03 22:00:26 -07:00
Markus F.X.J. Oberhumer
13034577fc
Fix previous commit.
2016-10-04 00:56:01 +02:00
Markus F.X.J. Oberhumer
9feefc2e7f
Makefile: added run-testsuite target.
2016-10-04 00:42:24 +02:00
John Reiser
a5393e985d
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-10-03 09:42:48 -07:00
John Reiser
e3fe0dc89b
Avoid bug in ld-linux to set brk(0) when .p_align is large.
...
modified: p_lx_elf.cpp
2016-10-03 09:41:05 -07:00
Markus F.X.J. Oberhumer
42d49e9d50
Update Makefile and check_whitespace.sh.
2016-10-03 13:13:13 +02:00
Markus F.X.J. Oberhumer
06eb244800
Add check_whitespace_git.sh. Minor cleanups.
2016-10-03 04:47:02 +02:00
John Reiser
870cdfa51f
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-10-02 10:47:59 -07:00
John Reiser
93787c74ee
Rewrite linfo in output file.
...
modified: p_mach.cpp
2016-10-02 10:47:37 -07:00
Markus F.X.J. Oberhumer
945323fe15
Fix a compilation warning.
2016-10-02 15:54:14 +02:00
Markus F.X.J. Oberhumer
5e41e69b27
Remove trailing whitespace from p_mach.cpp.
2016-10-02 15:48:56 +02:00
Markus F.X.J. Oberhumer
9d14185f7d
Add check_whitespace.sh and call it from Makefile. Update Travis.
2016-10-02 15:46:57 +02:00
John Reiser
0f74162551
Decompression works after codesign. (Still more is possible.)
...
modified: p_mach.cpp
2016-10-01 20:38:25 -07:00
John Reiser
00b1ff1ff6
Apple codesign now works.
...
modified: p_mach.cpp
2016-10-01 17:40:32 -07:00
John Reiser
977024ea94
Fix clang scan-build errors.
...
modified: p_lx_elf.cpp
2016-10-01 17:38:16 -07:00
Markus F.X.J. Oberhumer
ee093e5232
Minor cleanups.
2016-10-01 19:59:10 +02:00
Markus F.X.J. Oberhumer
e41c475671
Use calloc instead of malloc to pacify valgrind.
2016-09-28 21:30:38 +02:00
Markus F.X.J. Oberhumer
b9b3b67b95
Silence some pedantic compilation warnings about unused results.
2016-09-28 13:50:50 +02:00
Markus F.X.J. Oberhumer
0d57d2cfe3
Remove old cruft.
2016-09-28 13:39:49 +02:00
Markus F.X.J. Oberhumer
32de5d0d7f
Fix msvc build.
2016-09-28 13:34:39 +02:00
Markus F.X.J. Oberhumer
51eab2a4b7
Update Makefile configuration variables.
2016-09-28 13:07:39 +02:00
Markus F.X.J. Oberhumer
f7554374ab
Update email address.
2016-09-28 12:25:01 +02:00
Markus F.X.J. Oberhumer
b4870f62c9
Add option --prefer-ucl.
2016-09-28 11:57:15 +02:00
Markus F.X.J. Oberhumer
f1d713ebf6
Silence some pedantic warnings.
2016-09-28 11:29:20 +02:00
Markus F.X.J. Oberhumer
a7386238dd
Update Travis.
2016-09-27 20:29:04 +02:00
Markus F.X.J. Oberhumer
6b39d122a6
Support MSVC.
2016-09-27 20:23:23 +02:00
Markus F.X.J. Oberhumer
a0582c5380
pefile.cpp: don't use VLA.
2016-09-27 20:19:43 +02:00
Markus F.X.J. Oberhumer
1f37112969
Moving to github.
2016-09-27 08:41:11 +02:00
Markus F.X.J. Oberhumer
361958db76
Check endian in assertPacker().
2016-09-26 15:38:04 +02:00
Markus F.X.J. Oberhumer
8bc7880b19
Improve gitrev handling.
2016-09-26 15:32:01 +02:00
John Reiser
48e00b371c
Move UPX_F_MACH_PPC64LE and friends to 38 et seq, the little-endian side.
...
modified: conf.h
2016-09-26 05:53:11 -07:00
Markus F.X.J. Oberhumer
aee52d3880
Improve gitrev handling.
2016-09-26 10:35:29 +02:00
Markus F.X.J. Oberhumer
e6da9e8d1a
Small snprintf.cpp update.
2016-09-26 09:12:53 +02:00
Markus F.X.J. Oberhumer
156ca03b67
Silence some pedantic compiler warnings.
2016-09-26 09:12:53 +02:00
Markus F.X.J. Oberhumer
3f4419b177
Update stub/src for recent changes.
2016-09-26 09:12:53 +02:00
Markus F.X.J. Oberhumer
676f860d7d
Normalize whitespace.
2016-09-26 09:12:53 +02:00
Markus F.X.J. Oberhumer
5ce93ae0c7
Update submodules.
2016-09-26 09:12:53 +02:00
László Molnár
43231826b9
fixed address sanitizer problem (untested)
2016-09-26 08:56:23 +02:00
Markus F.X.J. Oberhumer
a29064107e
Bump version date.
2016-09-25 14:01:40 +02:00
Markus F.X.J. Oberhumer
daafc29d2b
Add support for UPX_VERSION_GITREV. Some cleanups.
2016-09-25 09:41:26 +02:00
John Reiser
3c786acf2b
Fix bug in Mach-O stub.
...
modified: amd64-darwin.macho-upxmain.exe
modified: amd64-darwin.macho-upxmain.h
modified: src/amd64-darwin.macho-upxmain.c
2016-09-24 19:44:00 -07:00
John Reiser
53c3817d4d
Allow longer Mach-O headers.
...
modified: amd64-darwin.macho-upxmain.exe
2016-09-24 17:26:00 -07:00
John Reiser
9109254488
Allow longer Mach-O headers.
...
modified: src/amd64-darwin.macho-upxmain.c
2016-09-24 17:21:07 -07:00
John Reiser
df19f0d5ec
Try harder to decompress Mach-O I386, too.
...
modified: p_mach.cpp
modified: p_mach.h
2016-09-24 09:15:10 -07:00
John Reiser
093362e479
Merge branch 'devel' of https://github.com/upx/upx into devel
2016-09-24 06:44:19 -07:00
John Reiser
7826a3652b
Try harder to decompress Mach-O, because pirates.
...
modified: p_mach.cpp
modified: p_mach.h
2016-09-24 06:43:16 -07:00
Markus F.X.J. Oberhumer
c27b7e52e1
Small Makefile update.
2016-09-24 13:49:07 +02:00
Markus F.X.J. Oberhumer
6f33929f91
Cleanups.
2016-09-24 12:10:46 +02:00
Markus F.X.J. Oberhumer
3841be7e20
Remove *.bin files.
2016-09-24 11:18:18 +02:00
John Reiser
2c28521283
NetBSDElf32x86 should not impersonate [i386-linux.elf, linux/i386]
2016-09-23 19:31:26 -07:00
László Molnár
1c735cc204
fixed too strict checks in resource handling
2016-09-22 22:17:08 +02:00
Markus F.X.J. Oberhumer
b1a2f8fec0
Update vim modelines.
2016-09-22 18:17:37 +02:00
Markus F.X.J. Oberhumer
83828aa8a3
Update vim modelines.
2016-09-22 17:29:43 +02:00
Markus F.X.J. Oberhumer
4eb81b4d66
Update stub/scripts.
2016-09-22 14:27:57 +02:00
Markus F.X.J. Oberhumer
96d9968db5
Welcome 2016.
2016-09-22 14:07:14 +02:00