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
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
f7554374ab
Update email address.
2016-09-28 12:25:01 +02:00
Markus F.X.J. Oberhumer
83828aa8a3
Update vim modelines.
2016-09-22 17:29:43 +02:00
Markus F.X.J. Oberhumer
96d9968db5
Welcome 2016.
2016-09-22 14:07:14 +02:00
Markus F.X.J. Oberhumer
b66ba140cb
More cleanups.
2016-09-21 23:18:19 +02:00
Markus F.X.J. Oberhumer
1bb0fa1809
Fix a few things spotted by the gcc-6 sanitizer. Needs review.
2016-09-21 00:35:51 +02:00
Markus F.X.J. Oberhumer
3f7c1f966b
Minor cleanups.
2016-09-20 22:14:25 +02:00
jreiser@BitWagon.com
1197beaa13
ElfLinker::init() zero length implies 0x4000 blank bytes
2016-09-05 20:36:07 -07:00
John Reiser
5de83a606e
Cleanup after Thierry Fauck changes for ppc64le.
...
We need a "UPX standard" compiler in order to re-compile the stubs for ppc64le;
meanwhile use Thierry's "pre-compiled" stubs.
Revert powerpc stubs to those produced by UPX standard powerpc.405-linux-gcc-3.4.5.
Cleanup the workarounds that Thierry used because he lacked upx-stubtools 20130920.
ARMv8 (64-bit) compiles but is incomplete and does not run yet.
changed src/Makefile
changed src/linker.cpp
changed src/stub/Makefile
changed src/stub/amd64-linux.elf-entry.h
changed src/stub/arm64-darwin.macho-entry.h
changed src/stub/arm64-darwin.macho-fold.h
changed src/stub/powerpc-darwin.dylib-entry.h
changed src/stub/powerpc-darwin.macho-entry.h
changed src/stub/powerpc-darwin.macho-fold.h
changed src/stub/powerpc-linux.elf-entry.h
changed src/stub/powerpc-linux.elf-fold.h
changed src/stub/powerpc-linux.kernel.vmlinux.h
changed src/stub/scripts/xstrip.py
changed src/stub/src/arch/arm/v8a/lzma_d.S
changed src/stub/src/arch/arm/v8a/macros.S
changed src/stub/src/arm64-darwin.macho-entry.S
changed src/stub/tmp/arm64-darwin.macho-entry.bin.dump
2016-07-26 21:29:29 -07:00
John Reiser
01a0c8672d
changeset: 2451:4e2a6c33d5fb
...
tag: ppc64le
user: Thierry Fauck <tfauck@free.fr>
date: Wed Jun 22 08:25:13 2016 -0400
summary: Add support for ppc64le statically linked binaries
2016-07-26 17:00:25 -07:00
John Reiser
42e520e841
ElfLinkerArm64LE
2016-01-31 19:59:00 -08:00
Markus F.X.J. Oberhumer
fb611a98f9
Welcome 2015.
2015-01-03 00:24:07 +01:00
Markus F.X.J. Oberhumer
a26c982e93
Welcome 2014.
2014-01-07 23:05:10 +01:00
Markus F.X.J. Oberhumer
b2643b6926
Start using the new intergral type names.
2013-09-20 08:19:18 +02:00
Markus F.X.J. Oberhumer
25727f7f99
Minor portability fixes.
2013-09-20 07:48:29 +02:00
László Molnár
76be5dd1d3
linker: Section::offset should be u64
2013-09-01 21:38:44 +02:00
László Molnár
53dc63f3bc
linker: a small 64-bit relocation support related fix
2013-09-01 11:15:30 +02:00
László Molnár
bce7af4e11
fixed 8 bit range checking in ElfLinkerAMD64::relocate1
2013-08-28 22:31:40 +02:00
László Molnár
037c29d24a
added full support for 64-bit relocations
2013-08-22 21:43:11 +02:00
Markus F.X.J. Oberhumer
87a368a857
Welcome 2013.
2013-02-12 10:14:03 +01:00
Markus F.X.J. Oberhumer
43ce34d547
Welcome 2012.
2012-01-01 22:35:11 +01:00
László Molnár
aec8f81358
fixed a warning (sf.net bug 3241423)
2011-03-25 12:02:22 +01:00
Markus F.X.J. Oberhumer
9bf2b79d9e
Enter 2011.
2011-01-03 08:49:23 +01:00
Markus F.X.J. Oberhumer
b926fb3c66
Fix __cdecl syntax error.
2010-12-24 10:38:30 +01:00
László Molnár
6c8d5c0d0e
replaced abort() with internal_error() (sf.net bug 3101319)
2010-12-21 10:28:36 +01:00
Markus F.X.J. Oberhumer
626025d539
Prepare release.
2010-04-27 16:09:41 +02:00
Markus F.X.J. Oberhumer
6bc3197721
Enter 2010.
2010-02-06 17:15:49 +01:00
John Reiser
eeab1aef64
Synonyms R_ARM_THM_PC22 and R_ARM_THM_XPC22 for R_ARM_THM_CALL.
2009-10-22 21:05:05 -07:00
Markus F.X.J. Oberhumer
5ed689ceb0
Enter 2009.
2008-12-31 17:07:18 +01:00
Markus F.X.J. Oberhumer
ca368e0f9b
Add a note about broken scanf() implementations.
2008-04-02 16:34:31 +02:00
John Reiser
271031128e
Fix ElfLinkerMipsBE::relocate1. Create CFLUSH section in
...
mipsel.r3000-linux.elf-entry.S and powerpc-darwin.macho-entry.S .
2008-03-31 08:55:35 -07:00
Markus F.X.J. Oberhumer
6ff1bd5917
Update my email address.
2008-01-02 10:12:42 +01:00
Markus F.X.J. Oberhumer
fa49dbe2cb
Enter 2008.
2008-01-02 09:42:31 +01:00
John Reiser
0260f0790a
mipseb.r3000-linux.elf [broken because no big-endian tool chain]
2007-11-12 09:12:51 -08:00
Markus F.X.J. Oberhumer
40e19293f9
Added throwOutOfMemoryException().
2007-05-08 15:28:35 +02:00
John Reiser
f347458c53
new format UPX_F_VMLINUX_PPC32 Linux kernel for PowerPC (32-bit)
2007-04-30 13:34:06 -07:00
Markus F.X.J. Oberhumer
0fcaa3a2f5
Work around broken scanf() implementations.
2007-03-22 07:30:16 +01:00
Markus F.X.J. Oberhumer
bdd0daaf6f
Added ElfLinker::addLoaderVA().
2007-02-20 07:36:34 +01:00
Markus F.X.J. Oberhumer
1cfad80ca2
Introduce a special "ignore_reloc_overflow" section.
2007-02-18 18:29:26 +01:00
Markus F.X.J. Oberhumer
7271ae9611
Small updates.
2007-01-23 13:50:39 +01:00
Markus F.X.J. Oberhumer
5e83596a1b
Enter 2007.
2007-01-14 13:08:58 +01:00
Markus F.X.J. Oberhumer
0b988176fa
Portability fixes.
2007-01-10 17:16:59 +01:00
John Reiser
50ebf8088a
R_ARM_ABS8
2006-12-17 13:19:37 -08:00
Markus F.X.J. Oberhumer
732d6710d3
Remove misleading "const" from Linker::preprocessXX().
2006-12-10 00:38:28 +01:00
Markus F.X.J. Oberhumer
83052eafae
Minor cleanups.
2006-12-01 00:57:03 +01:00
Markus F.X.J. Oberhumer
87b7ea9cf3
Add LZMA support for pre-compressed stubs.
2006-11-21 06:09:04 +01:00
Markus F.X.J. Oberhumer
140d6ad839
Avoid compiler warning.
2006-11-21 05:09:01 +01:00
Markus F.X.J. Oberhumer
8dad091c6b
Decompress pre-compressed stubs in Linker::init().
2006-11-21 05:01:00 +01:00
Markus F.X.J. Oberhumer
05d03f97fc
Introduce Packer::bele.
2006-11-20 12:01:59 +01:00
Markus F.X.J. Oberhumer
519fa55df7
ps1/exe: fill pad.code section with zeros.
2006-11-18 20:54:10 +01:00
Markus F.X.J. Oberhumer
d9e8c953b1
Fixed some ElfLinker endian issues.
2006-11-18 17:43:29 +01:00
Markus F.X.J. Oberhumer
9eca502026
Make upx build with gcc-2.95 again.
2006-11-18 14:37:22 +01:00
Markus F.X.J. Oberhumer
db7ae4ed5d
Improve Packer:addLoader(). We're still somewhat limited because of gcc-bug
...
#29823 (see http://gcc.gnu.org/PR29823 ).
2006-11-16 18:52:20 +01:00
Markus F.X.J. Oberhumer
713415c354
Fix broken "glibc sscanf bug workaround".
2006-11-12 14:47:50 +01:00
Markus F.X.J. Oberhumer
46caeddc81
Added some more debugging support to Linker.
2006-11-12 13:45:27 +01:00
Markus F.X.J. Oberhumer
a74e239e28
Major cleanup of ElfLinker.
2006-11-12 10:57:18 +01:00
Markus F.X.J. Oberhumer
ebef2b1e44
Avoid a printf warning.
2006-10-04 00:16:55 +02:00
Markus F.X.J. Oberhumer
a61457b422
Added some debugging support via Linker::dumpSymbols().
2006-10-03 23:48:19 +02:00
Markus F.X.J. Oberhumer
f54513586d
Implemented alignCode() for m68k.
2006-08-28 09:09:29 +02:00
Markus F.X.J. Oberhumer
6c519c237e
Renamed Linker::align() to alignCode(). We still have to add
...
some way to express alignData().
2006-08-28 08:58:43 +02:00
John Reiser
117a721166
ElfLinker::addSection ==> addLoader
2006-08-21 19:52:09 -07:00
John Reiser
c8d54b324b
Only PC-relative relocations get range checked.
2006-08-21 14:26:08 -07:00
Markus F.X.J. Oberhumer
6f1cc2c1e5
Renamed ElfLinker::addSection(sname) to addLoader().
2006-08-21 20:07:42 +02:00
Markus F.X.J. Oberhumer
996a99ad75
Some linker.cpp cleanups.
2006-08-20 11:15:36 +02:00
Markus F.X.J. Oberhumer
03ce7a8db3
Removed all old linker classes - we exclusively use ElfLinker now.
2006-08-19 14:00:22 +02:00
John Reiser
fd1611079a
auto-define symbol *ABS* in section *ABS*
...
(for i386-linux.elf.execve-entry.h R_386_PC *ABS*)
2006-08-10 17:02:36 -07:00
John Reiser
52e8326d54
work on PackLinuxElf32arm; add nrv2b_d8.S
2006-07-21 13:11:02 -07:00
László Molnár
4c87e11aeb
8 bit relocation overflow detection added to ElfLinker
2006-07-17 16:58:24 +02:00
John Reiser
e06a390771
PackLinuxElf32ppc works (except lzma)
2006-07-16 19:01:17 -07:00
John Reiser
b34e204676
PackLinuxElf32ppc conversion; alignment in *::Section
2006-07-16 15:04:16 -07:00
John Reiser
cfc5631d5d
PackLinuxElf64amd works (except for lzma)
2006-07-15 13:46:37 -07:00
John Reiser
0b8825fecb
i386 conversion stub conversion; nrv2b_d32_2.ash etc.
2006-07-12 11:15:14 -07:00
László Molnár
9531bdf674
fixed a bug in ElfLinker
2006-07-07 16:57:15 +02:00
László Molnár
d35211328e
ElfLinker: rela support added
2006-07-07 08:51:48 +02:00
László Molnár
f14dc4a4e9
ElfLinkerArmLe fixes
2006-07-01 12:25:26 +02:00
László Molnár
fd56e2534c
fixed alignment handling typo
2006-07-01 09:40:12 +02:00
László Molnár
c5fb161477
ElfLinker updates
...
commented out the debugging printfs
now it's possible to set the offset of sections
aligment handling simplified
ElfLinkerArmPE introduced
2006-07-01 00:10:02 +02:00
László Molnár
b33718180c
ElfLinkerX86 introduced.
...
Simple alignment handling added to ElfLinker.
dos/exe device drivers can be compressed again.
2006-06-29 18:21:01 +02:00
László Molnár
a68b76c8b4
undefined symbols are initialized to "0xdeaddead"
2006-06-29 00:22:45 +02:00
László Molnár
6d8afec510
ElfLinker started. Dos/com & dos/sys formats converted
2006-06-28 14:45:58 +02:00
Markus F.X.J. Oberhumer
29e8d072b7
Simplify C++ style in Linker.
2006-06-22 16:12:48 +02:00
Markus F.X.J. Oberhumer
bf5cbfffc2
Start major refactoring.
2006-06-19 19:20:50 +02:00
Markus F.X.J. Oberhumer
db43910288
Enter 2006.
2006-06-16 15:17:29 +02:00
Markus F.X.J. Oberhumer
69eaaa4177
Revert previous checkin.
...
committer: mfx <mfx> 1139914479 +0000
2006-02-14 10:54:39 +00:00
Markus F.X.J. Oberhumer
75ef603308
Linker updates from Laszlo. Needs some testing.
...
committer: mfx <mfx> 1109669078 +0000
2005-03-01 09:24:38 +00:00
John Reiser
89fee5b835
allow more sections; print failing section on overflow
...
committer: jreiser <jreiser> 1108850756 +0000
2005-02-19 22:05:56 +00:00
John Reiser
5d331fdf69
new file format vmlinux/i386
...
Modified Files:
Makefile conf.h help.cpp linker.cpp p_elf.h packer.cpp
packerf.cpp packmast.cpp stub/Makefile stub/l_vmlinz.asm
Added Files:
p_vmlinx.h p_vmlinx.cpp stub/l_vmlinx.asm
committer: jreiser <jreiser> 1089652867 +0000
2004-07-12 17:21:07 +00:00
Markus F.X.J. Oberhumer
5f87e9891b
Enter 2004.
...
committer: mfx <mfx> 1074623868 +0000
2004-01-20 18:37:48 +00:00
Markus F.X.J. Oberhumer
2162a01848
Enter 2003.
...
committer: mfx <mfx> 1042478199 +0000
2003-01-13 17:16:39 +00:00
Markus F.X.J. Oberhumer
f66d8f98c9
Changed year to 2002.
...
committer: mfx <mfx> 1036971635 +0000
2002-11-10 23:40:35 +00:00
John Reiser
40fddf1715
Put upx stub loader at high end of ELF output file on linux,
...
and allow for block-by-block specification of filter and parameters.
linker.cpp linker.h mem.cpp mem.h p_elf.h
p_lx_elf.cpp p_lx_elf.h
p_lx_exc.cpp p_lx_exc.h
p_lx_sh.cpp p_lx_sh.h
p_unix.cpp p_unix.h
packer.cpp packer.h
stub/fold_elf86.asm stub/fold_exec86.asm stub/fold_sh86.asm
stub/l_lx_elf.c stub/l_lx_elf86.asm stub/l_lx_elf86.lds
stub/l_lx_exec.c stub/l_lx_exec86.asm stub/l_lx_exec86.lds
stub/l_lx_sh.c stub/l_lx_sh86.asm stub/l_lx_sh86.lds
stub/linux.hh
committer: jreiser <jreiser> 981084316 +0000
2001-02-02 03:25:16 +00:00
John Reiser
df9db96bd1
filters for unix(linux)
...
Modified Files:
filteri.cpp filter/ctojr.h linker.cpp linker.h mem.cpp mem.h
p_lx_elf.cpp p_lx_elf.h
p_lx_exc.cpp p_lx_exc.h
p_lx_sh.cpp p_lx_sh.h
p_unix.cpp packer.cpp packer.h packhead.cpp
stub/Makefile stub/macros.ash
stub/l_lx_elf.c stub/l_lx_elf86.asm stub/l_lx_elf86.lds
stub/l_lx_exec.c stub/l_lx_exec86.asm stub/l_lx_exec86.lds
stub/l_lx_sh86.asm stub/l_lx_sh86.lds
Added Files:
filter/ctok.h
stub/fold_elf86.asm stub/fold_exec86.asm stub/fold_sh86.asm
committer: jreiser <jreiser> 979796725 +0000
2001-01-18 05:45:25 +00:00
Markus F.X.J. Oberhumer
47168972da
Added class BeLinker.
...
committer: mfx <mfx> 978797683 +0000
2001-01-06 16:14:43 +00:00
Markus F.X.J. Oberhumer
f96955b9f0
Updated my email address.
...
committer: mfx <mfx> 978625825 +0000
2001-01-04 16:30:25 +00:00
Markus F.X.J. Oberhumer
aa540f85fa
Big merge of my working tree: Added options `--all-methods', new
...
Packer::getCompressionMethods(), improved Packer::compressWithFilters().
committer: mfx <mfx> 978449945 +0000
2001-01-02 15:39:05 +00:00
Markus F.X.J. Oberhumer
abc15a398c
Updated the file headers.
...
committer: mfx <mfx> 974118160 +0000
2000-11-13 12:22:40 +00:00
László Molnár
bd436acb4d
Added safety check for short jumps.
...
committer: ml1050 <ml1050> 969315442 +0000
2000-09-18 22:17:22 +00:00