John Reiser
e0bc040b0a
mips stub uses new strategy
...
modified: p_lx_elf.cpp
modified: stub/src/arch/mips/r3000/macros.ash
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/mipsel.r3000-linux.elf-entry.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
also .h, .bin.dump, .map
2017-10-12 21:04:10 -07:00
John Reiser
1522293be0
arm64: stub uses new strategy
...
modified: p_lx_elf.cpp
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-main.c
also .h, .map, .bin.dump
2017-10-10 14:51:03 -07:00
John Reiser
b37bc99330
PowerPC64: stub uses new strategy
...
Needed: expert on TOC for big-endian. glibc, musl, gcc disagree
on layout (is the .func first?) and usage for .e_entry.
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/arch/powerpc/64le/ppc_regs.h
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.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.elf-fold.S
modified: stub/Makefile
also .h, .bin.dump, .map
2017-10-07 13:43:12 -07:00
John Reiser
7f905724b1
amd64: stub uses new strategy
...
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-fold.S
modified: p_lx_elf.cpp
also .h, .bin.dump, .map
2017-10-06 11:15:34 -07:00
John Reiser
2bf5bb1625
arm: stub uses new strategy
...
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: p_lx_elf.cpp
plus .h, .bin.dump, .map
2017-10-05 17:07:30 -07:00
John Reiser
9e8de4abe5
i386: new stub strategy to avoid problems with early mmap layout
...
The stub occupies the same region that execve() would create
for the original progam. The stub copies everything to a new area,
erases the original region, replaces it with the de-compressed
program, and erases the copy of itself via the escape hatch.
The copy is inexpensive via mmap() of /proc/self/exe.
modified: stub/src/i386-linux.elf-entry.S
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/i386-linux.elf-main.c
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: p_lx_interp.cpp
modified: p_lx_interp.h
modified: p_lx_sh.cpp
modified: p_lx_sh.h
modified: p_mach.cpp
modified: p_mach.h
modified: p_unix.cpp
modified: p_unix.h
modified: p_vmlinx.cpp
plus .h, .map, .dump
2017-10-01 15:56:34 -07:00
John Reiser
6470c748db
Flush ACC_UNUSED(adrc); and its predecessors from stub for MIPS.
...
modified: p_lx_elf.cpp
2017-09-24 20:07:31 -07:00
John Reiser
f4947cc2ae
Work-around Ubuntu runtime bug loading shlib on ARM.
...
Use --android-shlib to activate the work-around.
https://bugs.launchpad.net/bugs/1712938
https://github.com/upx/upx/issues/116
modified: p_elf_enum.h
modified: p_lx_elf.cpp
2017-08-24 19:52:30 -07:00
Markus F.X.J. Oberhumer
ef8a7f330d
Silence some compiler warnings.
2017-07-23 02:59:51 +02:00
Markus F.X.J. Oberhumer
b72e0f3060
Disable debugging section.
2017-07-23 02:59:51 +02:00
John Reiser
6de021d8d8
Fix MIPS, at least ET_EXEC.
...
ET_DYN not tested. Also /proc/self/exe is not proected [use getenv(" ")]
modified: p_lx_elf.cpp
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: ../.github/travis_testsuite_1.sh
also .h .dump .map for mips
2017-06-27 20:53:44 -07:00
John Reiser
9be86621bf
PowerPC64 unifies into amd64-linux.elf-main.c
...
Also reconcile ppc32 and ppc64, especially *.S
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-main.c
modified: ../.github/travis_testsuite_1.sh
also corresponding *.h *.map *.dump
2017-06-27 14:58:13 -07:00
John Reiser
8f572e5fe6
Rewrite stubs for 32-bit arm and i386 for -pie (Position-Independent Executable)
...
Coming next: MIPS and PowerPC.
modified: p_lx_elf.cpp
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: stub/src/i386-linux.elf-entry.S
modified: stub/src/i386-linux.elf-fold.S
modified: ../.github/travis_testsuite_1.sh
also associated *.h *.map *.dump files
2017-06-14 09:57:19 -07:00
John Reiser
e7f1e99a5e
Merge branch 'jreiser' into devel
...
O_BINFO simplifies stubs on linux Elf;
PowerPC64 (big endian: Apple Macintosh G5) and PowerPC* cleanup;
-fpie simplification; shlib for arm64, amd64.
A big merge due to suspending activity on 'devel' branch
during stabilization for release of UPX-3.94.
There were intermediate merges with private branch 'jreiser',
and attempted rebase onto 'devel' did not go well.
Verfication of cases ({ET_EXEC, -fpie, shlib} x {$ARCH}) is in progress.
modified: ../.github/travis_testsuite_1.sh
modified: conf.h
modified: linker.cpp
modified: linker.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: p_mach.cpp
modified: p_mach.h
modified: p_mach_enum.h
modified: packmast.cpp
modified: stub/Makefile
modified: stub/scripts/xstrip.py
modified: stub/src/amd64-darwin.dylib-entry.S
modified: stub/src/amd64-darwin.macho-entry.S
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/arch/powerpc/32/bxx.S
modified: stub/src/arch/powerpc/32/lzma_d.S
modified: stub/src/arch/powerpc/32/nrv2b_d.S
modified: stub/src/arch/powerpc/32/nrv2d_d.S
modified: stub/src/arch/powerpc/32/nrv2e_d.S
modified: stub/src/arch/powerpc/32/ppc_regs.h
new file: stub/src/arch/powerpc/64/Makefile
new file: stub/src/arch/powerpc/64/Makefile.extra
new file: stub/src/arch/powerpc/64/bxx.S
new file: stub/src/arch/powerpc/64/lzma_d.S
new file: stub/src/arch/powerpc/64/lzma_d_cf.S
new file: stub/src/arch/powerpc/64/lzma_d_cs.S
new file: stub/src/arch/powerpc/64/macros.S
new file: stub/src/arch/powerpc/64/nrv2b_d.S
new file: stub/src/arch/powerpc/64/nrv2d_d.S
new file: stub/src/arch/powerpc/64/nrv2e_d.S
new file: stub/src/arch/powerpc/64/ppc_regs.h
modified: stub/src/arch/powerpc/64le/bxx.S
copied: stub/src/arch/powerpc/64le/lzma_d.S -> stub/src/arch/powerpc/64le/lzma_d-common.S
modified: stub/src/arch/powerpc/64le/lzma_d.S
modified: stub/src/arch/powerpc/64le/lzma_d_cs.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/arch/powerpc/64le/ppc_regs.h
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.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/src/i386-bsd.elf-entry.S
modified: stub/src/i386-darwin.macho-entry.S
modified: stub/src/i386-linux.elf-entry.S
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/mipsel.r3000-linux.elf-entry.S
modified: stub/src/mipsel.r3000-linux.elf-fold.S
modified: stub/src/powerpc-darwin.dylib-entry.S
modified: stub/src/powerpc-darwin.macho-entry.S
modified: stub/src/powerpc-darwin.macho-fold.S
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-main.c
new file: stub/src/powerpc64-darwin.dylib-entry.S
new file: stub/src/powerpc64-darwin.macho-entry.S
new file: stub/src/powerpc64-darwin.macho-fold.S
new file: stub/src/powerpc64-darwin.macho-main.c
new file: stub/src/powerpc64-linux.elf-entry.S
new file: stub/src/powerpc64-linux.elf-fold.S
new file: stub/src/powerpc64-linux.elf-fold.lds
new file: stub/src/powerpc64-linux.elf-main.c
modified: stub/src/powerpc64-savegpr0.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.elf-main.c
and most stub/*.h and stub/tmp/*.dump
2017-06-05 11:32:25 -07:00
John Reiser
140a031515
arm64-linux.shlib-init
...
modified: p_lx_elf.cpp
modified: stub/src/arm64-linux.shlib-init.S
modified: stub/arm64-linux.shlib-init.h
modified: stub/tmp/arm64-linux.shlib-init.bin.dump
2017-06-04 16:52:43 -07:00
John Reiser
b7c91941b8
--android-shlib fix Elf64_Shdr.sh_offset
...
https://github.com/upx/upx/issues/100
modified: ../p_lx_elf.cpp
modified: ../p_lx_elf.h
2017-05-31 11:04:56 -07:00
John Reiser
ee18fe9bba
DF_1_PIE and calls_crt1() to handle part of -pie,-fPIE
...
https://github.com/upx/upx/issues/106 [partial]
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
2017-05-31 10:53:55 -07:00
John Reiser
d979e19315
fpad8() for --android-shlib in PackLinuxElf64::pack4()
...
https://github.com/upx/upx/issues/100
modified: p_lx_elf.cpp
2017-05-30 11:32:05 -07:00
John Reiser
6e541a432f
amd64-linux: DF_1_PIE marks a main program; stub juggles AT_PHDR for same
...
https://github.com/upx/upx/issues/105
modified: p_elf_enum.h
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: ../.github/travis_testsuite_1.sh
modified: stub/amd64-linux.elf-fold.h
modified: stub/tmp/amd64-linux.elf-fold.map
2017-05-27 19:54:12 -07:00
John Reiser
8eabb9b02f
i386 recover from merge
...
modified: p_lx_elf.cpp
2017-05-08 18:54:41 -07:00
John Reiser
955206aaf0
Merge branch 'devel' into jreiser
...
Conflicts:
src/p_lx_elf.cpp
src/stub/src/amd64-linux.elf-entry.S
src/stub/src/amd64-linux.elf-main.c
src/stub/src/arm.v4a-linux.elf-entry.S
src/stub/src/arm.v4a-linux.elf-fold.S
src/stub/src/arm64-linux.elf-entry.S
src/stub/src/arm64-linux.elf-fold.S
src/stub/src/i386-linux.elf-fold.S
src/stub/src/powerpc-darwin.macho-entry.S
src/stub/src/powerpc-linux.elf-fold.S
src/stub/src/powerpc64le-darwin.macho-entry.S
src/stub/src/powerpc64le-linux.elf-entry.S
src/stub/src/powerpc64le-linux.elf-fold.S
src/stub/src/powerpc64le-linux.elf-main.c
Changes to be committed:
modified: ../.github/ISSUE_TEMPLATE.md
modified: ../.github/travis_build.sh
modified: ../.github/travis_deploy.sh
modified: ../.github/travis_init.sh
modified: ../.github/travis_testsuite_1.sh
modified: ../.gitignore
modified: ../.travis.yml
modified: ../NEWS
modified: c_screen.cpp
modified: file.cpp
modified: help.cpp
modified: linker.cpp
modified: main.cpp
modified: p_lx_elf.cpp
modified: packer.cpp
modified: s_djgpp2.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/arm.v4a-linux.elf-entry.S
modified: stub/src/arm.v4a-linux.elf-fold.S
modified: stub/src/arm64-linux.elf-entry.S
modified: stub/src/arm64-linux.elf-fold.S
modified: stub/src/i386-linux.elf-main.c
modified: stub/src/powerpc-darwin.dylib-entry.S
modified: stub/src/powerpc-darwin.macho-entry.S
modified: stub/src/powerpc-darwin.macho-fold.S
modified: stub/src/powerpc-linux.elf-fold.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.elf-main.c
modified: ui.cpp
modified: util.cpp
modified: work.cpp
[plus *.h, *.dump, *.map]
2017-05-08 14:21:31 -07:00
John Reiser
90714cf624
arm64 tracing in stub
...
modified: ../../linker.cpp
modified: ../../p_lx_elf.cpp
modified: arm64-linux.elf-entry.S
2017-05-06 19:37:37 -07:00
John Reiser
515897e180
Allow Elf64_Ehdr::ELFOSABI_NONE on Linux; cater to EM_PPC64.e_flags quirk
...
modified: p_lx_elf.cpp
2017-05-04 08:28:03 -07:00
John Reiser
24c924d668
Fix size of 'imul'
...
modified: src/stub/src/i386-linux.elf-fold.S
modified: src/p_lx_elf.cpp
modified: .github/travis_testsuite_1.sh
modified: src/stub/i386-linux.elf-fold.h
modified: src/stub/tmp/i386-linux.elf-fold.map
2017-04-26 15:24:19 -07:00
John Reiser
15e9d8c99d
Recognize __libc_init for Android -pie (PositionIndependentExecutable)
...
based on d34887ef60
modified: p_lx_elf.cpp
2017-04-24 11:04:48 -07:00
John Reiser
c4a921283a
Revamp powerpc{,64le,64}.
...
Fix 64-bit stack frame (8*8 bytes for spilling a0-a7). Avoid using r2 (t0).
Prepare for -pie executables. Prepare for unified strategy in stubs.
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-main.c
modified: stub/src/arch/powerpc/32/bxx.S
modified: stub/src/arch/powerpc/32/lzma_d.S
modified: stub/src/arch/powerpc/32/nrv2b_d.S
modified: stub/src/arch/powerpc/32/nrv2d_d.S
modified: stub/src/arch/powerpc/32/nrv2e_d.S
modified: stub/src/arch/powerpc/32/ppc_regs.h
new file: stub/src/arch/powerpc/64/Makefile
new file: stub/src/arch/powerpc/64/Makefile.extra
new file: stub/src/arch/powerpc/64/lzma_d.S
new file: stub/src/arch/powerpc/64/lzma_d_cf.S
new file: stub/src/arch/powerpc/64/lzma_d_cs.S
modified: stub/src/arch/powerpc/64le/bxx.S
copied: stub/src/arch/powerpc/64le/lzma_d.S -> stub/src/arch/powerpc/64le/lzma_d-common.S
modified: stub/src/arch/powerpc/64le/lzma_d.S
modified: stub/src/arch/powerpc/64le/lzma_d_cs.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/arch/powerpc/64le/ppc_regs.h
modified: stub/src/i386-darwin.macho-entry.S
modified: stub/src/powerpc-darwin.dylib-entry.S
modified: stub/src/powerpc-darwin.macho-entry.S
modified: stub/src/powerpc-darwin.macho-fold.S
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-main.c
modified: stub/src/powerpc64-darwin.dylib-entry.S
modified: stub/src/powerpc64-darwin.macho-entry.S
modified: stub/src/powerpc64-darwin.macho-fold.S
modified: stub/src/powerpc64-darwin.macho-main.c
modified: stub/src/powerpc64-linux.elf-main.c
modified: stub/src/powerpc64-savegpr0.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/i386-darwin.macho-entry.h
modified: stub/powerpc-darwin.dylib-entry.h
modified: stub/powerpc-darwin.macho-entry.h
modified: stub/powerpc-darwin.macho-fold.h
modified: stub/powerpc-linux.elf-entry.h
modified: stub/powerpc-linux.elf-fold.h
modified: stub/powerpc-linux.kernel.vmlinux.h
modified: stub/powerpc64-linux.elf-entry.h
modified: stub/powerpc64-linux.elf-fold.h
modified: stub/powerpc64le-darwin.dylib-entry.h
modified: stub/powerpc64le-darwin.macho-entry.h
modified: stub/powerpc64le-darwin.macho-fold.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/powerpc64le-linux.elf-fold.h
modified: stub/powerpc64le-linux.kernel.vmlinux.h
modified: stub/tmp/i386-darwin.macho-entry.bin.dump
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.elf-fold.map
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.elf-fold.map
modified: stub/tmp/powerpc64le-linux.kernel.vmlinux.bin.dump
2017-04-19 19:25:05 -07:00
John Reiser
4e05f087f9
PowerPC 64-bit big-endian
...
modified: conf.h
modified: linker.cpp
modified: linker.h
modified: p_lx_elf.cpp
modified: p_lx_elf.h
modified: packmast.cpp
modified: stub/Makefile
modified: stub/powerpc-linux.elf-entry.h
new file: stub/powerpc64-linux.elf-entry.h
new file: stub/powerpc64-linux.elf-fold.h
modified: stub/powerpc64le-linux.elf-entry.h
modified: stub/powerpc64le-linux.elf-fold.h
modified: stub/scripts/xstrip.py
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
new file: stub/src/powerpc64-darwin.dylib-entry.S
new file: stub/src/powerpc64-darwin.macho-entry.S
new file: stub/src/powerpc64-darwin.macho-fold.S
new file: stub/src/powerpc64-darwin.macho-main.c
new file: stub/src/powerpc64-linux.elf-entry.S
new file: stub/src/powerpc64-linux.elf-fold.S
new file: stub/src/powerpc64-linux.elf-fold.lds
new file: stub/src/powerpc64-linux.elf-main.c
modified: stub/src/powerpc64le-linux.elf-entry.S
modified: stub/src/powerpc64le-linux.elf-fold.S
modified: stub/src/powerpc64le-linux.elf-main.c
modified: stub/tmp/powerpc64le-linux.elf-entry.bin.dump
modified: stub/tmp/powerpc64le-linux.elf-fold.map
2017-04-11 19:15:43 -07:00
John Reiser
7c16872a6e
Merge branch 'devel' into jreiser
2017-04-07 08:22:08 -07:00
John Reiser
c34f496600
Avoid incorrect C4319 by Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x64
...
modified: p_lx_elf.cpp
2017-04-07 05:36:40 -07:00
John Reiser
85fdd579d6
Cleanup PackLinuxElf64amd::defineSymbols(): use is_pie; reduce symbols
...
modified: p_lx_elf.cpp
modified: stub/src/amd64-linux.elf-entry.S
modified: stub/src/amd64-linux.elf-fold.S
modified: stub/amd64-linux.elf-entry.h
modified: stub/amd64-linux.elf-fold.h
modified: stub/tmp/amd64-linux.elf-entry.bin.dump
modified: stub/tmp/amd64-linux.elf-fold.map
2017-04-06 17:22:30 -07:00
John Reiser
e88d2ff88c
Merge branch 'devel' into jreiser
...
modified: ../.appveyor.yml
modified: ../.github/travis_build.sh
modified: Makefile
modified: linker.cpp
modified: p_lx_elf.cpp
modified: packmast.cpp
2017-04-06 14:25:14 -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
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
2c23cbb359
Silence some compiler warnings.
2017-04-05 17:02:42 +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
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
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
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