Markus F.X.J. Oberhumer
0b4ac35bc9
Tune some MSVC warnings.
2016-12-19 22:57:43 +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
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
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
c2c970ee33
pacify c++-analyzer
...
modified: p_lx_elf.cpp
2016-10-19 15:19:33 -07: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
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
ca2293f6d3
c++-analyzer needs improved range tracking.
...
modified: p_lx_elf.cpp
2016-10-09 09:33:35 -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
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
b9b3b67b95
Silence some pedantic compilation warnings about unused results.
2016-09-28 13:50:50 +02:00
Markus F.X.J. Oberhumer
f7554374ab
Update email address.
2016-09-28 12:25:01 +02:00
Markus F.X.J. Oberhumer
96d9968db5
Welcome 2016.
2016-09-22 14:07:14 +02:00
Markus F.X.J. Oberhumer
aef54a4bfd
Update source for previous rename.
2016-09-22 12:12:43 +02:00
Markus F.X.J. Oberhumer
1bc8b6f46e
Update source for previous rename.
2016-09-22 11:29:12 +02:00
Markus F.X.J. Oberhumer
10a0469221
Update source for previous rename.
2016-09-22 10:56:33 +02:00
Markus F.X.J. Oberhumer
8b0101dcab
Update source for previous rename.
2016-09-22 10:25:45 +02:00
Markus F.X.J. Oberhumer
ea2bddf245
Fix one more file_image usage.
2016-09-22 00:58:43 +02:00
Markus F.X.J. Oberhumer
242f606a29
p_lx_elf.h: turn file_image into a MemBuffer.
2016-09-21 22:22:41 +02:00
Markus F.X.J. Oberhumer
3765ca4e92
Cleanups and cruft removal.
2016-09-21 21:33:53 +02:00
John Reiser
d2830db94d
Fix memory leak
...
modified: p_lx_elf.cpp
2016-09-20 20:43:48 -07: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
7af6c4b10e
Use new style casts. Cleanups.
2016-09-20 20:59:34 +02:00
John Reiser
48ce1f1814
Merge branch 'master' of https://github.com/upx/upx
2016-09-20 10:56:00 -07:00
John Reiser
5151c8a505
Indentation error detected by g++-6
...
modified: p_lx_elf.cpp
2016-09-20 10:55:14 -07:00
Markus F.X.J. Oberhumer
44248f19b5
Introduce mem_size() and New() and start using it.
2016-09-20 15:24:07 +02:00
Markus F.X.J. Oberhumer
e4723e0bad
Avoid some compiler warnings.
2016-09-20 10:54:27 +02: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
53b45279ad
Better diagnosis of Go-language PT_LOAD; https://sourceforge.net/p/upx/bugs/195/
2015-07-25 07:11:57 -07:00
John Reiser
298ea1f0d3
::unpack(): another check on b_info; uncompressed ElfXX_Ehdr must match input
2015-05-16 15:23:01 -07:00
John Reiser
759827b404
EI_OSABI for EM_ARM is a real mess
2015-05-15 20:47:35 -07:00
John Reiser
330fca722a
too large: blocksize > 1024*1024*1024 [corrupted]
2015-05-15 05:36:21 -07:00
John Reiser
cdd152d015
Detect (int)blocksize < 0
2015-05-09 20:13:30 -07:00
John Reiser
83ce7dc62f
Must not compare orig_file_size with fi->st_size() during ::unpack
2015-05-09 17:47:17 -07:00
John Reiser
b182b50f24
Distinguish corruption of p_info, b_info
2015-05-09 10:13:13 -07:00
John Reiser
c777da263e
Check blocksize. CERT-FI 829767
...
id:000053,sig:06,src:000000,op:arith8,pos:10440,val:+20
2015-05-09 07:25:25 -07:00
John Reiser
2cb7b56a41
Check ph.c_len; CERT-FI 829767
...
id:000023,sig:06,src:000000,op:flip2,pos:10440
2015-05-09 07:18:54 -07:00
John Reiser
8d6c594240
Check ph.c_len; CERT-FI 829767
...
id:000008,sig:06,src:000000,op:flip1,pos:205
2015-05-09 07:05:17 -07:00
John Reiser
771fd732d1
Check e_phentsize; CERT-FI 829767
...
id:000064,sig:06,sync:upx-macho-crash-2,src:000096
2015-05-09 05:31:36 -07:00
John Reiser
7ca14d209c
Use upx_uint64_t instead of "unsigned long".
2015-01-10 12:26:35 -08:00
Markus F.X.J. Oberhumer
9fa1772ae4
Merge.
2015-01-03 00:34:42 +01:00
John Reiser
51ee664cae
PackLinuxElf32help1 refuses if e_ident[EI_DATA] mismatches bele policy
2015-01-02 15:25:29 -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
John Reiser
cd3132667a
ARM shlib escape hatch moves to just beyond .text.
...
https://sourceforge.net/p/upx/bugs/223/
2013-11-22 19:26:19 -08:00
John Reiser
c5c9921b59
Unpack detects is_shlib more robustly. Dispute .e_shoff.
2013-11-16 14:25:53 -08:00
John Reiser
6b63aba1fc
Disable jni_onload_*
2013-11-09 16:06:41 -08:00
John Reiser
382331fb11
e_phoff and e_shoff are 32/64 specific
2013-10-28 07:11:40 -07:00
John Reiser
caf9af7ae4
JNI_OnLoad is a pre-DT_INIT in a shared library.
2013-10-26 09:51:25 -07:00
Markus F.X.J. Oberhumer
b2643b6926
Start using the new intergral type names.
2013-09-20 08:19:18 +02:00
John Reiser
d43f8e3100
Alignment bug in test or decompress of shared library;
...
sourceforge.net/p/upx/bugs/218/
2013-07-06 13:50:15 -07:00
John Reiser
66269eabe9
ARM Try a hole so that kernel does not extend brk(0)
2013-06-08 08:39:08 -07:00
Markus F.X.J. Oberhumer
36dd35f238
Silence some compilation warnings.
2013-02-18 11:01:30 +01:00
Markus F.X.J. Oberhumer
87a368a857
Welcome 2013.
2013-02-12 10:14:03 +01:00
John Reiser
b362a61863
fix for user brk() on ARM with static linking
2013-01-31 12:19:35 -08:00
John Reiser
468fec38d7
Fix .e_ident[EI_OSABI] for Debian armhf.
2013-01-30 13:31:35 -08:00
Markus F.X.J. Oberhumer
25d706a913
Whitespace cleanup.
2012-10-31 15:50:52 +01:00
John Reiser
048236aaaa
Isolate change to p_mach.cpp of previous revision
...
(p_lx_elf.cpp and p_lx_elf.h were included by mistake.)
2012-10-10 08:58:15 -07:00
John Reiser
d442c58fd1
MachO no longer needs contiguous LC_SEGMENT (SourceForge bug 3308161)
2012-10-10 08:51:52 -07:00
John Reiser
8a5d352733
Portability: fix "EOFException: premature end of file" doing ELF on Windows.
...
OutputFile::read() was bad news; fsync() should work, but was missing.
2012-07-12 14:25:28 -07:00
John Reiser
a6d717cb04
big endian, too: ARM Linux EABI version 4 and 5 is a mess
2012-07-07 07:45:51 -07:00
Markus F.X.J. Oberhumer
43ce34d547
Welcome 2012.
2012-01-01 22:35:11 +01:00
Markus F.X.J. Oberhumer
a38721db93
Remove meaningless "const" from casts.
2011-12-14 06:05:41 +01:00
Markus F.X.J. Oberhumer
86e534ff75
Remove trailing whitespace. Remove hard tabs.
2011-12-14 06:03:08 +01:00
John Reiser
640d5b2dec
Option --preserve-build-id for Gnu ELF; contributed by Nicholas Twerdochlib
...
(SourceForge [ upx-Patches-3413335 ])
2011-12-13 17:26:03 -08:00
Markus F.X.J. Oberhumer
260138ba11
Silence some compilation warnings.
2011-12-12 11:30:02 +01:00
John Reiser
f6ee8b9f04
MSVC++ disallows zero-length array in struct
2011-11-23 13:05:00 -08:00
John Reiser
31af22c2ff
ARM_is_QNX looks for PT_INTERP containing "ldqnx"
2011-10-16 15:04:18 -07:00
John Reiser
6e92902407
ARM_is_QNX() heuristic
2011-10-16 13:11:03 -07:00
John Reiser
b247b051ea
QNX on armel (experimental)
2011-10-15 19:49:37 -07:00
Markus F.X.J. Oberhumer
afbd553622
Silence some compilation warnings.
2011-08-30 03:40:53 +02:00
John Reiser
cfa6c8ddf6
Fix ::pack3 for shared library.
2011-06-06 20:00:43 -07:00
John Reiser
21924bf022
move stub escape hatch for shared library to end of .text [glibc-2.13.90]
2011-06-02 07:18:50 -07:00
John Reiser
eea33f6019
Document copy ONLY for old_dtinit, .e_shoff in compressed shared library.
2011-05-31 11:01:40 -07:00
John Reiser
de9b9fd0b1
more messages in PackLinuxElf32::canPack
2011-05-30 07:21:51 -07:00
John Reiser
ece7384be4
fpad4 from st_size(), not from getBytesWritten()
2011-05-28 12:18:27 -07:00
John Reiser
0c052e4506
amd64 output PT_LOAD[0] ends after loader
2011-05-20 10:29:04 -07:00
John Reiser
1996a0a3d6
32-bit shared libraries on i386 only (SourceForge bug 3286178)
2011-04-14 09:39:55 -07:00
John Reiser
836fd2565f
Place loader immediately after compressed PT_LOADs, in "middle" of file.
...
This moves compressed gaps and debuginfo out of compressed PT_LOADs,
and fixes a bug where large debuginfo would cause first mmap
at runtime to erase the loader (SourceForge bug 3239079).
2011-03-28 10:44:23 -07:00
John Reiser
c1d6bf4366
avoid .so with DT_TEXTREL; SourceForge bug 3190915
2011-02-24 09:38:17 -08:00
Markus F.X.J. Oberhumer
9bf2b79d9e
Enter 2011.
2011-01-03 08:49:23 +01:00
Markus F.X.J. Oberhumer
4d98408995
Remove trailing whitespace.
2010-12-29 15:46:55 +01:00
John Reiser
80c5ee2479
use up4()
2010-11-17 14:28:00 -08:00
John Reiser
e6357b81eb
NetBSD version 5 requires PT_NOTE for PaX. Also adjust other *BSD and PT_NOTE.
...
[Tested OK on FreeBSD 8.1, NetBSD 5.1, OpenBSD 4.8. Cleanup needed.]
2010-11-16 21:13:42 -08:00
John Reiser
a10293f8f7
ARM copy .e_flags from input to output to preserve soft_FP flag, etc.
2010-11-09 11:05:55 -08:00
John Reiser
b1f02f91d7
NetBSD 5.0 wants PT_NOTE and branded executables
2010-11-09 10:47:53 -08:00
Markus F.X.J. Oberhumer
e8ba14a2c1
Silence some compilation warnings.
2010-09-01 14:49:26 +02:00
John Reiser
e31777ec53
ARM ELF EABI version 5
...
https://sourceforge.net/tracker/?func=detail&atid=102331&aid=3040129&group_id=2331
2010-08-17 11:30:17 -07:00
John Reiser
3cb61402c2
merge
2010-07-16 21:01:45 -07:00
John Reiser
5336c51199
Fix conflict between VDSO and unfolded decompressor for ET_DYN
...
(-fPIE) with unlimited stack on Linux-2.6.34 et al.
2010-07-16 20:58:52 -07:00
Markus F.X.J. Oberhumer
52aa658aaa
Silence some compilation warnings.
2010-07-14 20:03:09 +02:00
Markus F.X.J. Oberhumer
a15ce00934
Fix some small memory leaks. Minor cleanup.
2010-04-10 13:57:25 +02:00
John Reiser
9e3e80261b
merge
2010-03-31 14:15:18 -07:00
John Reiser
c72c685434
Diagnose PT_LOAD beyond end-of-file.
...
https://sourceforge.net/tracker/?func=detail&atid=102331&aid=2979240&group_id=2331
2010-03-31 14:09:28 -07:00
Markus F.X.J. Oberhumer
b6a9b0a4c9
Silence some compilation warnings.
2010-03-31 02:16:32 +02:00
John Reiser
f4f8bd8d42
Fix for "upx --help" constructs with (0===f)
2010-03-17 18:33:30 -07:00
John Reiser
7e2e72bd40
infoWarning for shlib with no DT_INIT
2010-03-09 13:03:03 -08:00
John Reiser
aa7a13bd02
Linux kernels must be ET_EXEC
2010-03-09 09:22:57 -08:00
John Reiser
5895058a17
Linux kernels must be ET_EXEC
2010-03-09 09:20:46 -08:00
John Reiser
ffb60d5149
memmove instead of overlapping memcpy
2010-03-08 22:01:25 -08:00
John Reiser
8de5aa9409
Fix ET_DYN main program on amd64-linux.elf.
2010-03-08 16:59:53 -08:00
John Reiser
f03f42ca4d
Linux preserve /proc/self/exe; --unmap-all-pages option
2010-02-28 15:58:08 -08:00
John Reiser
895b0bd602
merge
2010-02-20 20:46:20 -08:00
John Reiser
2ee5ee92f8
merge
2010-02-20 20:44:54 -08:00
John Reiser
3e619423b1
merge
2010-02-20 20:40:32 -08:00
John Reiser
b524e18bdf
merge
2010-02-20 20:40:20 -08:00
John Reiser
6aa4579db8
merge
2010-02-20 20:40:04 -08:00
John Reiser
17fb86c0f1
merge
2010-02-20 20:39:52 -08:00
John Reiser
62ecfe4873
merge
2010-02-20 20:39:39 -08:00
John Reiser
04e55e6b9a
merge
2010-02-20 20:39:19 -08:00
John Reiser
f432aa1090
merge
2010-02-20 20:39:04 -08:00
John Reiser
7add104313
merge
2010-02-20 20:38:20 -08:00
John Reiser
36de249066
merge
2010-02-20 20:36:34 -08:00
John Reiser
b7a54dcffd
merge
2010-02-20 20:26:08 -08:00
John Reiser
6bb28deab2
merge
2010-02-20 20:24:55 -08:00
John Reiser
7f88d15c86
ELF ::unpack decompressing ElfXX_Ehdr changes .e_phnum
2010-02-20 19:57:34 -08:00
Markus F.X.J. Oberhumer
6bc3197721
Enter 2010.
2010-02-06 17:15:49 +01:00
Markus F.X.J. Oberhumer
c1ddea479d
Minor portability fixes.
2009-12-03 19:58:23 +01:00
John Reiser
5f3a95962c
PackLinuxElf32::unpack fix ARM (thumb)
2009-10-26 13:35:14 -07:00
John Reiser
eeae73296e
thumb-eabi-linux.shlib, and use it (for smaller size) instead of ARM.
...
[Consider compress-time option to choose ARM vs thumb?]
2009-10-26 09:05:12 -07:00
John Reiser
6ab04d7bbc
::buildLinuxLoader empty FOLDEXED for shlib
2009-10-25 13:52:41 -07:00
John Reiser
4e1c342e55
arm-linux.shlib escape hatch: munmap temporary pages
2009-10-21 09:32:42 -07:00
John Reiser
63da091d36
Compress shared library for armel-eabi-linux.
2009-10-19 20:48:46 -07:00
John Reiser
ad0dc88a33
Cleanup some FIXME. amd64-linux.shlib forces 4KiB page size to save space.
2009-10-18 16:03:26 -07:00
John Reiser
147acf4b57
Compress shared library for amd64-linux.
2009-10-17 21:55:03 -07:00
John Reiser
5085f3a15e
Allow ET_DYN on amd64-linux.elf
2009-10-16 17:47:16 -07:00
John Reiser
df4bd6a60c
move PackLinuxElf32x86::unpack up the class hierarchy to PackLinuxElf32
2009-10-16 11:00:33 -07:00
John Reiser
813e7b05e4
fix .ui_total_passes when shlib
2009-10-16 10:56:15 -07:00
John Reiser
ab8b486b4a
Fix -Wshadow complaints.
2009-10-16 10:01:29 -07:00
John Reiser
856ecb84a0
Compress shared library for i386-linux. DT_INIT must exist. Everything
...
needed by ld-linux for runtime relocation must be at the beginning of the
first PT_LOAD, etc.
2009-10-15 20:35:07 -07:00
John Reiser
0a485eafcb
Better detection of Position Independent main Executables (gcc -pie -FPIC).
2009-10-10 14:50:30 -07:00
Markus F.X.J. Oberhumer
57a64de023
Small conf.h update.
2009-01-01 13:40:52 +01:00
Markus F.X.J. Oberhumer
5ed689ceb0
Enter 2009.
2008-12-31 17:07:18 +01:00
Markus F.X.J. Oberhumer
25f1765f36
Support building with OpenWatcom 1.8. Silence some compiler warnings.
2008-12-31 16:56:38 +01:00
Markus F.X.J. Oberhumer
063bd58802
Silence gcc's -Wstrict-aliasing=1 warnings.
2008-12-29 23:15:56 +01:00
John Reiser
0b31fbf827
armel-eabi sets Elf32_Ehdr::EI_ABIVERSION = 4
2008-08-04 17:29:59 -07:00
John Reiser
e6ba71390d
armel-eabi choose proper decompressor
2008-07-20 15:35:19 -07:00
John Reiser
f0c8dbe0ec
armel-eabi-linux.elf (Debian) new protocol for system calls
2008-07-20 05:41:51 -07:00
John Reiser
74ebb7c722
more get_te32(&...) needed for endian neutrality
2008-07-16 13:49:28 -07:00
Markus F.X.J. Oberhumer
d54f947c98
Add Packer::hasLoaderSection() to handle missing CFLUSH sections.
2008-04-07 18:44:00 +02:00
John Reiser
703d498772
Implement cache flush for PowerPC.
2008-02-26 12:15:09 -08:00
Markus F.X.J. Oberhumer
7f9c47176a
Introduce target endianness accessors get_teXX() and set_teXX() in packer.h to
...
replace all [gs]et_nativeXX() member functions.
2008-01-09 13:57:47 +01: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
d9d0dc5201
get_native(&Elf32_Phdr.p_align)
2007-12-15 10:07:09 -08:00
Markus F.X.J. Oberhumer
e9e5507483
stub: rename "mipseb" to "mips".
2007-11-14 04:54:33 +01:00
John Reiser
1a035e2866
PackLinuxElf32::canPack must use explicit get_native32
2007-11-13 11:11:31 -08:00
John Reiser
95075aa28e
MIPSEB implementation [still broken because no big-endian tools]
2007-11-12 09:23:45 -08:00
John Reiser
27a77a15ed
prepare to deal with DT_GNU_HASH instead of DT_HASH
2007-11-12 09:05:36 -08:00
John Reiser
e66823d017
mipsel.r3000-linux: flush cache for NRV, fix stub copying when big
2007-06-09 17:13:50 -07:00
John Reiser
81928d4ab1
mipsel stub escape hatch for munmap
2007-05-10 13:13:11 -07:00
John Reiser
8f15777427
merge
2007-05-08 10:43:50 -07:00
John Reiser
748c4bf780
mipsel stub system calls
2007-05-08 10:41:13 -07:00
Markus F.X.J. Oberhumer
40e19293f9
Added throwOutOfMemoryException().
2007-05-08 15:28:35 +02:00
John Reiser
573009eeb6
new format UPX_F_LINUX_ELF32_MIPSEL [work in progress]
2007-05-06 06:17:49 -07: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
961031efc1
make_st_info()
2006-12-19 16:12:15 -08:00
Markus F.X.J. Oberhumer
f8ebbf8b08
Rework p_elf.h.
2006-12-19 14:24:35 +01:00
Markus F.X.J. Oberhumer
f2b9dff596
More work so that watom/le now uses compressWithFilters().
2006-12-06 11:08:32 +01:00
Markus F.X.J. Oberhumer
ae945ed315
Clean up help and avoid using backticks as quoting chars.
2006-12-06 08:11:55 +01:00
Markus F.X.J. Oberhumer
1d0d538d0c
Added new option '--ultra-brute'.
2006-12-01 02:47:46 +01:00
Markus F.X.J. Oberhumer
2ced230965
Updated packers to use new stub names.
2006-11-21 03:40:11 +01:00
Markus F.X.J. Oberhumer
a6cb6f57d3
Introduce Packer::relocateLoader(). This is the first step of finally getting
...
rid of all Packer::patchXXX() methods.
2006-11-20 18:10:23 +01:00
John Reiser
796d58867b
use separate stub/armeb-linux.elf-entry and fold
2006-11-20 08:02:28 -08:00
John Reiser
0687c9a57a
PackLinuxElf32::ARM_buildLoader endianness bugs
2006-11-19 14:28:15 -08:00
John Reiser
5ec16153f7
PackLinuxElf64amd::defineSymbols forgot a get_native64()
2006-11-18 19:52:55 -08:00
Markus F.X.J. Oberhumer
d822b4a62a
Store shentsize in target byte-order.
2006-11-18 18:25:11 +01:00
Markus F.X.J. Oberhumer
be235ddc38
Removed unused Packer::freezeLoader(). Changed return type of
...
buildLoader() from "int" to "void".
2006-11-12 20:57:08 +01:00
John Reiser
829e2d6c5d
set e_shentsize to work around bug in binutils [mostly cosmetic]
2006-10-24 09:43:50 -07:00
Markus F.X.J. Oberhumer
c2e5e45c84
Fix UINT64_MAX.
2006-10-06 08:42:12 +02:00
John Reiser
014236c861
amd64 stub: fix length of move for non-small programs
2006-10-04 08:38:06 -07:00
Markus F.X.J. Oberhumer
d6f4480a4f
Removed debugging leftover.
2006-10-04 09:17:59 +02:00
Markus F.X.J. Oberhumer
28a6ac09ad
Initialize a field in constructor.
2006-10-04 09:14:13 +02:00
John Reiser
86e4d24476
avoid circularity of sz_pack2 in PackLinuxElf64amd::defineSymbols()
2006-10-03 20:21:36 -07:00
John Reiser
913a697ab2
Remove dead code and uses of sz_pack2 from PackLinuxElf32::ARM_defineSymbols()
2006-10-03 19:28:08 -07:00
Markus F.X.J. Oberhumer
a61457b422
Added some debugging support via Linker::dumpSymbols().
2006-10-03 23:48:19 +02:00
John Reiser
6c59b73ae5
PackLinuxElf64::generateElfHdr() .p_flags are only 32 bits
2006-09-06 10:36:50 -07:00
John Reiser
4ffde4db98
8-byte align LZMA_DEC20
2006-08-27 10:03:12 -07:00
Markus F.X.J. Oberhumer
0c61ca1a6b
Renamed addLinkerSymbols() to defineSymbols().
2006-08-23 11:20:06 +02:00
John Reiser
1846fa1f54
PackLinuxElf start loader at 0 mod 8
2006-08-22 21:22:49 -07:00
John Reiser
579ce20cad
remove patchFilter32()
2006-08-22 20:49:28 -07:00
John Reiser
12e4bcba5d
Elf64 sets .p_flags for 0-length .bss
2006-08-22 11:23:55 -07:00
Markus F.X.J. Oberhumer
601cd95277
Removed Packer::getIdentstr().
2006-08-21 19:57:43 +02:00
John Reiser
c19ffafd8d
i386-linux.elf decompress does not need cto8
2006-08-20 11:19:37 -07:00
Markus F.X.J. Oberhumer
aab984618d
Fix newLinker() for mach/ppc32.
2006-08-19 14:29:40 +02:00
John Reiser
6a7066ac2f
Avoid linker->setLoaderAlignOffset().
2006-08-14 19:21:15 -07:00
Markus F.X.J. Oberhumer
3ad5cb8a23
Merge.
2006-08-14 08:44:58 +02:00
John Reiser
0d1f12e31a
Use better name osabi_note.
2006-08-13 20:14:14 -07:00
John Reiser
a8ddf8f66d
Detect PT_NOTE for NetBSD, OpenBSD.
2006-08-13 20:00:44 -07:00
Markus F.X.J. Oberhumer
c15b8d71bc
Removed trailing whitespace.
2006-08-13 14:47:24 +02:00
John Reiser
5f622efb77
nrv2e PackLinuxElf32armLe works
2006-07-21 19:10:48 -07:00
John Reiser
52e8326d54
work on PackLinuxElf32arm; add nrv2b_d8.S
2006-07-21 13:11:02 -07:00
John Reiser
98942f5528
work on PackLinuxElf32arm, including nrv2d and lzma
2006-07-19 17:29:17 -07:00
John Reiser
b8b983dded
nrv2d decompressor for PackLinuxElf64amd
2006-07-17 15:02:37 -07:00
John Reiser
d6a6673971
nrv2d decompressor for PackLinuxElf32ppc
2006-07-17 13:23:49 -07:00
John Reiser
efdee11d5a
lzma PackLinuxElf32ppc works!
2006-07-17 08:05:31 -07:00
John Reiser
49f277192c
hacking lzma PackLinuxElf32ppc
2006-07-16 22:32:55 -07:00
John Reiser
b34e204676
PackLinuxElf32ppc conversion; alignment in *::Section
2006-07-16 15:04:16 -07:00
John Reiser
755d990dfd
unify buildLinuxLoader using addStubEntrySections and addLinkerSymbols
2006-07-16 09:48:22 -07:00
John Reiser
3843ec1e02
lzma for PackLinuxElf64amd
2006-07-15 16:01:53 -07:00
John Reiser
cfc5631d5d
PackLinuxElf64amd works (except for lzma)
2006-07-15 13:46:37 -07:00
John Reiser
e64555aca0
hacking PackLinuxElf64amd
2006-07-14 19:43:38 -07:00
John Reiser
44f20782fd
cleanup after merge; AMD64 ElfLinker
2006-07-12 11:42:03 -07:00
John Reiser
0b8825fecb
i386 conversion stub conversion; nrv2b_d32_2.ash etc.
2006-07-12 11:15:14 -07:00
John Reiser
b76118802a
ElfLinkerPpc32
2006-07-09 19:52:23 -07:00
John Reiser
ab0c349261
workaround ElfLinker not handling addSection(,,) from dynamic block
2006-07-09 17:29:22 -07:00
John Reiser
d5e0e66426
PackLinuxElf32x86::newLinker()
2006-07-09 16:59:41 -07:00
John Reiser
1a0a64e4de
::addStubEntrySections() with default ELFMAINX
2006-07-09 08:48:06 -07:00
John Reiser
6bd9805bcc
start converting PackLinuxElf64amd to ElfLinker
2006-07-09 08:14:04 -07:00
John Reiser
0a10334f1b
more *BSD, especially do_xmap() for OpenBSD
2006-07-04 08:59:00 -07:00
John Reiser
0d7255158a
OpenBSD "pro-active security" causes headaches
2006-07-03 16:35:21 -07:00
John Reiser
18fe124696
::generateElfHdr() sets .e_ident[Elf32_Ehdr::EI_OSABI]
2006-07-03 05:51:45 -07:00
John Reiser
ea3a3b6e1c
Elf32_Ehdr::ELFOSABI_LINUX
2006-07-03 05:47:01 -07:00
John Reiser
32ce83475d
more *BSD arrangements
2006-07-02 21:54:44 -07:00
John Reiser
75294b9146
FreeBSD, NetBSD, OpenBSD on equal footing
2006-07-02 19:27:08 -07:00
John Reiser
68dadabc29
BSD/elf386
2006-07-02 16:25:31 -07:00
Markus F.X.J. Oberhumer
7b77491c06
Refactoring: move fields ui_pass and ui_total_passes from class
...
Packer into class UiPacker.
2006-06-29 14:37:01 +02:00
John Reiser
89e25657d8
fix cross-platform endian trouble with ELF headers
2006-06-27 13:07:31 -07:00
John Reiser
4eb505755e
lzma for ELF
2006-06-24 14:00:41 -07:00
John Reiser
1a51451ec2
ELF stub uses getSizeForCompression()
2006-06-23 19:32:29 -07:00
John Reiser
28d56bab04
Merge
2006-06-22 21:30:59 -07:00
John Reiser
2500eff90d
more LZMA debugging for Linux i386 ELF
2006-06-22 21:25:18 -07:00
Markus F.X.J. Oberhumer
153446b3a1
Fixed debugging code.
2006-06-23 05:40:35 +02:00
John Reiser
03910d67c3
M_LZMA bug tracking: decompress fails but says OK
2006-06-22 17:18:17 -07:00
John Reiser
b13f7366cf
freezeLoader() sooner in PackLinuxElf32x86::buildLinuxLoader()
2006-06-21 17:08:58 -07:00
Markus F.X.J. Oberhumer
bf5cbfffc2
Start major refactoring.
2006-06-19 19:20:50 +02:00
John Reiser
fd2b9a6e21
filter 0x51 (ARM call trick, big-endian at compress time)
2006-06-16 06:49:37 -07:00
John Reiser
fa702b48e3
unify PackLinuxElf32arm...::pack1()
2006-06-15 15:41:00 -07:00
John Reiser
299dcf6686
Merge
2006-06-15 12:21:01 -07:00
Markus F.X.J. Oberhumer
d3323d6550
Major refactoring of src/stub directory.
2006-06-15 08:17:50 +02:00
John Reiser
ebed0b9f20
allow brev() in-place
2006-06-14 20:21:39 -07:00
John Reiser
f654a453dc
ARM_pack3() unifies big/little endian and HostPolicy
2006-06-14 16:06:50 -07:00
John Reiser
10decf94cc
fix delete[] file_image
2006-06-14 11:41:49 -07:00
John Reiser
96dd4817f1
unify PackLinuxElf32...::canPack(); also ARM buildLinuxLoader()
2006-06-14 11:33:16 -07:00
Markus F.X.J. Oberhumer
7daf63fd3f
Merge.
2006-06-14 11:48:44 +02:00
John Reiser
4fc0a32572
Do not brev() strings in stub for PackLinuxEl32armBe.
2006-06-13 18:55:26 -07:00
John Reiser
dcc704a357
debug PackLinuxElf32armBe. Also unify subroutines.
2006-06-13 15:51:29 -07:00
John Reiser
bd8acbde97
PackLinuxElf32armBe (Linux ARM big-endian)
2006-06-13 11:48:54 -07:00
John Reiser
112b10c19d
avoid randomness for progid in Elf
2006-06-13 08:53:41 -07:00
John Reiser
d89e561a85
PackLinuxElf32armLe, PackLinuxElf32armBe
2006-06-13 08:51:02 -07:00
John Reiser
49c1da79c8
PackLinuxElf32arm ==> PackLinuxElf32armLe
2006-06-13 08:27:14 -07:00
Markus F.X.J. Oberhumer
d8748f4270
Introduced MemBuffer::getSizeForCompression().
2006-06-12 13:18:55 +02:00
Markus F.X.J. Oberhumer
c34daf1a35
Make code -Wshadow warning free.
2006-06-11 12:25:19 +02:00
Markus F.X.J. Oberhumer
d461b53235
Renamed variable clen to c_len and ulen to u_len.
2006-06-11 12:13:37 +02:00
Markus F.X.J. Oberhumer
f1ba0c0aa7
More lzma stuff.
2006-06-09 18:36:53 +02:00
Markus F.X.J. Oberhumer
34ae413607
Initial lzma support.
2006-06-07 04:42:15 +02:00
John Reiser
1f18050930
elf32arm escape hatch: avoid Elf32_Ehdr if possible
2006-06-02 08:51:02 -07:00
John Reiser
17ecfc9765
new class PackLinuxElf32arm : PackLinuxElf32Le;
...
Unify some functions in leaf classes by moving to parent class.
2006-06-01 06:37:44 -07:00
John Reiser
504deeff42
ET_DYN cannot be old format for decompression
2006-05-24 13:15:39 -07:00