This commit is contained in:
John Reiser 2012-03-13 19:56:30 -07:00
commit ef15cf9847
346 changed files with 849 additions and 834 deletions

2
BUGS
View File

@ -8,7 +8,7 @@
The Ultimate Packer for eXecutables
Copyright (c) 1996-2011 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2012 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net

View File

@ -1,7 +1,7 @@
#
# UPX toplevel Makefile - needs GNU make 3.81 or better
#
# Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
# Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
#
MAKEFLAGS += -rR

6
NEWS
View File

@ -7,11 +7,11 @@ Changes in 3.09 (XX XXX XXXX):
Changes in 3.08 (12 Dec 2011):
* Fix allocation in runtime stub for darwin.macho-entry (i386 and amd64).
* Compress shared library on ELF i386 only [ld.so threatens even this case].
* Attempt to suport ELF on QNX 6.3.0 for armel (experimental).
* Better diangostic when ELF -fPIC is needed.
* Attempt to support ELF on QNX 6.3.0 for armel (experimental).
* Better diagnostic when ELF -fPIC is needed.
* PT_NOTE improvements for *BSD.
* Preserve more ELF .e_flags on ARM.
* Minor code improvements for ELF stubs
* Minor code improvements for ELF stubs.
* Defend against another flavor of corrupt PE header.
* bug fixes

View File

@ -8,7 +8,7 @@
The Ultimate Packer for eXecutables
Copyright (c) 1996-2011 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2012 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net

8
README
View File

@ -8,7 +8,7 @@
The Ultimate Packer for eXecutables
Copyright (c) 1996-2011 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2012 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net
@ -108,9 +108,9 @@ THE FUTURE
COPYRIGHT
=========
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
This program may be used freely, and you are welcome to
redistribute it under certain conditions.

View File

@ -8,7 +8,7 @@
The Ultimate Packer for eXecutables
Copyright (c) 1996-2011 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2012 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net

2
THANKS
View File

@ -8,7 +8,7 @@
The Ultimate Packer for eXecutables
Copyright (c) 1996-2011 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2012 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net

View File

@ -1,5 +1,5 @@
Decompressing ELF Directly to Memory on Linux/x86
Copyright (C) 2000-2011 John F. Reiser jreiser@BitWagon.com
Copyright (C) 2000-2012 John F. Reiser jreiser@BitWagon.com
References:
<elf.h> definitions for the ELF file format

View File

@ -13,7 +13,7 @@ B<upx> S<[ I<command> ]> S<[ I<options> ]> I<filename>...
=head1 ABSTRACT
The Ultimate Packer for eXecutables
Copyright (c) 1996-2011 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2012 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net
@ -933,13 +933,13 @@ Please report all bugs immediately to the authors.
=head1 COPYRIGHT
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 2000-2012 John F. Reiser
Copyright (C) 2002-2011 Jens Medoch
Copyright (C) 2002-2012 Jens Medoch
This program may be used freely, and you are welcome to
redistribute it under certain conditions.

View File

@ -1,7 +1,7 @@
#
# UPX Makefile - needs GNU make 3.81 or better
#
# Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
# Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
#
MAKEFLAGS += -rR

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2004-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2004-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them
@ -405,10 +405,10 @@ void show_version(int x)
if (v != NULL && v[0])
fprintf(fp, "LZMA SDK version %s\n", v);
#endif
fprintf(fp, "Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer\n");
fprintf(fp, "Copyright (C) 1996-2011 Laszlo Molnar\n");
fprintf(fp, "Copyright (C) 2000-2011 John F. Reiser\n");
fprintf(fp, "Copyright (C) 2002-2011 Jens Medoch\n");
fprintf(fp, "Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer\n");
fprintf(fp, "Copyright (C) 1996-2012 Laszlo Molnar\n");
fprintf(fp, "Copyright (C) 2000-2012 John F. Reiser\n");
fprintf(fp, "Copyright (C) 2002-2012 Jens Medoch\n");
#if (WITH_ZLIB)
fprintf(fp, "Copyright (C) 1995" "-2005 Jean-loup Gailly and Mark Adler\n");
#endif

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,6 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
@ -32,7 +34,7 @@
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
If not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Markus F.X.J. Oberhumer
<markus@oberhumer.com>
@ -41,7 +43,7 @@
#ifndef __ACC_H_INCLUDED
#define __ACC_H_INCLUDED 1
#define ACC_VERSION 20101017L
#define ACC_VERSION 20120101L
#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
# define __CYGWIN__ __CYGWIN32__
#endif
@ -537,7 +539,7 @@
# define ACC_INFO_CC "sdcc"
# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(SDCC)
#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
# define ACC_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
# define ACC_CC_PATHSCALE (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__+0) * 0x100 + (__PATHCC_PATCHLEVEL__+0))
# define ACC_INFO_CC "Pathscale C"
# define ACC_INFO_CCVER __PATHSCALE__
#elif defined(__INTEL_COMPILER)
@ -555,32 +557,32 @@
# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__POCC__)
#elif defined(__clang__) && defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# if defined(__GNUC_PATCHLEVEL__)
# define ACC_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
# define ACC_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__+0) * 0x100 + (__GNUC_PATCHLEVEL__+0))
# else
# define ACC_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
# define ACC_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__+0) * 0x100)
# endif
# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
# define ACC_CC_CLANG_CLANG (__clang_major__ * 0x10000L + __clang_minor__ * 0x100 + __clang_patchlevel__)
# define ACC_CC_CLANG_CLANG (__clang_major__ * 0x10000L + (__clang_minor__+0) * 0x100 + (__clang_patchlevel__+0))
# else
# define ACC_CC_CLANG_CLANG 0x020700L
# define ACC_CC_CLANG_CLANG 0x010000L
# endif
# define ACC_CC_CLANG ACC_CC_CLANG_GNUC
# define ACC_INFO_CC "clang"
# define ACC_INFO_CCVER __VERSION__
#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# if defined(__GNUC_PATCHLEVEL__)
# define ACC_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
# define ACC_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__+0) * 0x100 + (__GNUC_PATCHLEVEL__+0))
# else
# define ACC_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
# define ACC_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__+0) * 0x100)
# endif
# define ACC_CC_LLVM ACC_CC_LLVM_GNUC
# define ACC_INFO_CC "llvm-gcc"
# define ACC_INFO_CCVER __VERSION__
#elif defined(__GNUC__) && defined(__VERSION__)
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
# define ACC_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
# define ACC_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__+0) * 0x100 + (__GNUC_PATCHLEVEL__+0))
# elif defined(__GNUC_MINOR__)
# define ACC_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
# define ACC_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__+0) * 0x100)
# else
# define ACC_CC_GNUC (__GNUC__ * 0x10000L)
# endif
@ -725,6 +727,20 @@
# define ACC_INFO_CC "unknown"
# define ACC_INFO_CCVER "unknown"
#endif
#if (ACC_CC_GNUC) && defined(__OPEN64__)
# if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__)
# define ACC_CC_OPEN64_OPEN64 (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__+0) * 0x100 + (__OPENCC_PATCHLEVEL__+0))
# define ACC_CC_OPEN64_GNUC ACC_CC_GNUC
# define ACC_CC_OPEN64 ACC_CC_OPEN64_OPEN64
# endif
#endif
#if (ACC_CC_GNUC) && defined(__PCC__)
# if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__)
# define ACC_CC_PCC_PCC (__PCC__ * 0x10000L + (__PCC_MINOR__+0) * 0x100 + (__PCC_MINORMINOR__+0))
# define ACC_CC_PCC_GNUC ACC_CC_GNUC
# define ACC_CC_PCC ACC_CC_PCC_PCC
# endif
#endif
#if 0 && (ACC_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
# error "ACC_CC_MSC: _MSC_FULL_VER is not defined"
#endif
@ -1411,13 +1427,13 @@ extern "C" {
# define ACC_INFO_LIBC "newlib"
#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
# if defined(__UCLIBC_SUBLEVEL__)
# define ACC_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__)
# define ACC_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__+0) * 0x100 + (__UCLIBC_SUBLEVEL__+0))
# else
# define ACC_LIBC_UCLIBC 0x00090bL
# endif
# define ACC_INFO_LIBC "uclibc"
#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
# define ACC_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100)
# define ACC_LIBC_GLIBC (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__+0) * 0x100)
# define ACC_INFO_LIBC "glibc"
#elif (ACC_CC_MWERKS) && defined(__MSL__)
# define ACC_LIBC_MSL __MSL__
@ -1862,6 +1878,7 @@ extern "C" {
#elif (ACC_ARCH_I386 && (ACC_OS_DOS32 || ACC_OS_WIN32) && (ACC_CC_DMC || ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC))
# define ACC_ASM_SYNTAX_MSC 1
#elif (ACC_OS_WIN64 && (ACC_CC_DMC || ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC))
#elif (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC == 0x011f00ul))
#elif (ACC_ARCH_I386 && (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE))
# define ACC_ASM_SYNTAX_GNUC 1
#elif (ACC_ARCH_AMD64 && (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE))
@ -5842,26 +5859,26 @@ ACCLIB_PUBLIC(long, acc_safe_hwrite) (int fd, const acc_hvoid_p buf, long size)
#if !defined(ACCLIB_PUBLIC)
# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
#endif
#if 0 && (ACC_OS_POSIX_LINUX && ACC_ARCH_AMD64 && ACC_ASM_SYNTAX_GNUC)
#if 1 && (ACC_OS_POSIX_LINUX && ACC_ARCH_AMD64 && ACC_ASM_SYNTAX_GNUC)
#ifndef acc_pclock_syscall_clock_gettime
#define acc_pclock_syscall_clock_gettime acc_pclock_syscall_clock_gettime
#endif
static __acc_noinline long acc_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
{
long r;
__asm__ __volatile__("syscall\n" : "=a" (r) : "0" (228), "D" (clockid), "S" (ts) : __ACC_ASM_CLOBBER);
return r;
unsigned long r = 228;
__asm__ __volatile__("syscall\n" : "=a" (r) : "0" (r), "D" (clockid), "S" (ts) : __ACC_ASM_CLOBBER);
return (long) r;
}
#endif
#if 0 && (ACC_OS_POSIX_LINUX && ACC_ARCH_I386 && ACC_ASM_SYNTAX_GNUC)
#if 1 && (ACC_OS_POSIX_LINUX && ACC_ARCH_I386 && ACC_ASM_SYNTAX_GNUC)
#ifndef acc_pclock_syscall_clock_gettime
#define acc_pclock_syscall_clock_gettime acc_pclock_syscall_clock_gettime
#endif
static __acc_noinline long acc_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
{
long r;
__asm__ __volatile__("int $0x80\n" : "=a" (r) : "0" (265), "b" (clockid), "c" (ts) : __ACC_ASM_CLOBBER);
return r;
unsigned long r = 265;
__asm__ __volatile__("pushl %%ebx\n pushl %%edx\n popl %%ebx\n int $0x80\n popl %%ebx\n" : "=a" (r) : "0" (r), "d" (clockid), "c" (ts) : __ACC_ASM_CLOBBER);
return (long) r;
}
#endif
#if 0 && defined(acc_pclock_syscall_clock_gettime)
@ -5953,7 +5970,7 @@ static int acc_pclock_read_uclock(acc_pclock_handle_p h, acc_pclock_p c)
ACC_UNUSED(h); return 0;
}
#endif
#if 0 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) && defined(acc_int64l_t)
#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) && defined(acc_int64l_t)
#ifndef acc_pclock_read_clock_gettime_p_libc
#define acc_pclock_read_clock_gettime_p_libc acc_pclock_read_clock_gettime_p_libc
#endif
@ -6041,7 +6058,7 @@ static int acc_pclock_read_perfctr(acc_pclock_handle_p h, acc_pclock_p c)
ACC_UNUSED(h); return 0;
}
#endif
#if 0 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_THREAD_CPUTIME_ID) && defined(acc_int64l_t)
#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_THREAD_CPUTIME_ID) && defined(acc_int64l_t)
#ifndef acc_pclock_read_clock_gettime_t_libc
#define acc_pclock_read_clock_gettime_t_libc acc_pclock_read_clock_gettime_t_libc
#endif
@ -6776,7 +6793,7 @@ ACCLIB_PUBLIC_NOINLINE(void, acc_debug_break) (void)
#elif (ACC_OS_WIN32) && (ACC_HAVE_WINDOWS_H)
DebugBreak();
#else
* (volatile int *) 0x1 = -1;
* (volatile unsigned long *) (volatile void *) (size_t) 0x1 = ~0ul;
#endif
}
ACCLIB_PUBLIC_NOINLINE(void, acc_debug_nop) (void)
@ -6785,7 +6802,7 @@ ACCLIB_PUBLIC_NOINLINE(void, acc_debug_nop) (void)
ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_query) (void)
{
#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
size_t r;
size_t r = 0;
__asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) : : __ACC_ASM_CLOBBER);
return (int)(r >> 18) & 1;
#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
@ -6802,21 +6819,20 @@ ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_query) (void)
}
ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_enable) (int v)
{
int r;
#if (ACC_ARCH_AMD64) && (ACC_ASM_SYNTAX_GNUC)
if (v) {
__asm__ __volatile__("pushf\n orl $262144,(%%rsp)\n popf\n" : : : __ACC_ASM_CLOBBER);
} else {
__asm__ __volatile__("pushf\n andl $-262145,(%%rsp)\n popf\n" : : : __ACC_ASM_CLOBBER);
}
r = 0;
return 0;
#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
if (v) {
__asm__ __volatile__("pushf\n orl $262144,(%%esp)\n popf\n" : : : __ACC_ASM_CLOBBER);
} else {
__asm__ __volatile__("pushf\n andl $-262145,(%%esp)\n popf\n" : : : __ACC_ASM_CLOBBER);
}
r = 0;
return 0;
#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
if (v) { __asm {
pushf
@ -6827,11 +6843,10 @@ ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_enable) (int v)
and dword ptr [esp],-262145
popf
}}
r = 0;
return 0;
#else
r = -1;
ACC_UNUSED(v); return -1;
#endif
ACC_UNUSED(v); return r;
}
ACCLIB_PUBLIC_NOINLINE(unsigned, acc_debug_running_on_qemu) (void)
{

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them
@ -2004,30 +2004,30 @@ void PackLinuxElf32::pack1(OutputFile *fo, Filter & /*ft*/)
if (opt->o_unix.preserve_build_id) {
n_elf_shnum = ehdri.e_shnum;
Elf32_Shdr *shdr = NULL;
Elf32_Shdr const *tmp = shdri;
if (! shdri) {
shdr = new Elf32_Shdr[n_elf_shnum];
fi->seek(0,SEEK_SET);
fi->seek(ehdri.e_shoff,SEEK_SET);
fi->readx((void*)shdr,ehdri.e_shentsize*ehdri.e_shnum);
// set this so we can use elf_find_section_name
shdri = (Elf32_Shdr * const)shdr;
shdri = (Elf32_Shdr *)shdr;
}
//set the shstrtab
sec_strndx = &shdr[ehdri.e_shstrndx];
char *strtab = new char[sec_strndx->sh_size];
fi->seek(0,SEEK_SET);
fi->seek(sec_strndx->sh_offset,SEEK_SET);
fi->readx(strtab,sec_strndx->sh_size);
shstrtab = (const char*)strtab;
Elf32_Shdr const *buildid = elf_find_section_name(".note.gnu.build-id");
if (buildid) {
unsigned char *data = new unsigned char[buildid->sh_size];
@ -2035,16 +2035,16 @@ void PackLinuxElf32::pack1(OutputFile *fo, Filter & /*ft*/)
fi->seek(0,SEEK_SET);
fi->seek(buildid->sh_offset,SEEK_SET);
fi->readx(data,buildid->sh_size);
buildid_data = data;
o_elf_shnum = 3;
memset(&shdrout.shdr,0,sizeof(shdrout));
//setup the build-id
memcpy(&shdrout.shdr[1],buildid, sizeof(shdrout.shdr[1]));
shdrout.shdr[1].sh_name = 1;
//setup the shstrtab
memcpy(&shdrout.shdr[2],sec_strndx, sizeof(shdrout.shdr[2]));
shdrout.shdr[2].sh_name = 20;
@ -2187,7 +2187,7 @@ void PackLinuxElf64::pack1(OutputFile *fo, Filter & /*ft*/)
memset(&linfo, 0, sizeof(linfo));
fo->write(&linfo, sizeof(linfo));
}
// only execute if option present
if (opt->o_unix.preserve_build_id) {
// set this so we can use elf_find_section_name
@ -2201,25 +2201,25 @@ void PackLinuxElf64::pack1(OutputFile *fo, Filter & /*ft*/)
if (! shdri) {
shdr = new Elf64_Shdr[n_elf_shnum];
fi->seek(0,SEEK_SET);
fi->seek(ehdri.e_shoff,SEEK_SET);
fi->readx((void*)shdr,ehdri.e_shentsize*ehdri.e_shnum);
// set this so we can use elf_find_section_name
shdri = (Elf64_Shdr * const)shdr;
shdri = (Elf64_Shdr *)shdr;
}
//set the shstrtab
sec_strndx = &shdri[ehdri.e_shstrndx];
char *strtab = new char[sec_strndx->sh_size];
fi->seek(0,SEEK_SET);
fi->seek(sec_strndx->sh_offset,SEEK_SET);
fi->readx(strtab,sec_strndx->sh_size);
shstrtab = (const char*)strtab;
Elf64_Shdr const *buildid = elf_find_section_name(".note.gnu.build-id");
if (buildid) {
unsigned char *data = new unsigned char[buildid->sh_size];
@ -2227,28 +2227,28 @@ void PackLinuxElf64::pack1(OutputFile *fo, Filter & /*ft*/)
fi->seek(0,SEEK_SET);
fi->seek(buildid->sh_offset,SEEK_SET);
fi->readx(data,buildid->sh_size);
buildid_data = data;
o_elf_shnum = 3;
memset(&shdrout.shdr,0,sizeof(shdrout));
//setup the build-id
memcpy(&shdrout.shdr[1],buildid, sizeof(shdrout.shdr[1]));
shdrout.shdr[1].sh_name = 1;
//setup the shstrtab
memcpy(&shdrout.shdr[2],sec_strndx, sizeof(shdrout.shdr[2]));
shdrout.shdr[2].sh_name = 20;
shdrout.shdr[2].sh_size = 29; //size of our static shstrtab
}
if (shdr) {
shdri = tmp;
delete [] shdr;
shdr = NULL;
}
}
}
}
void PackLinuxElf64amd::pack1(OutputFile *fo, Filter &ft)
@ -2769,7 +2769,7 @@ void PackLinuxElf32::pack4(OutputFile *fo, Filter &ft)
shdrout.shdr[1].sh_offset = shdrout.shdr[2].sh_offset+shdrout.shdr[2].sh_size;
fo->write(&shdrout, ssize);
fo->write(o_shstrtab,shdrout.shdr[2].sh_size);
fo->write(buildid_data,shdrout.shdr[1].sh_size);
}
@ -2836,7 +2836,7 @@ void PackLinuxElf64::pack4(OutputFile *fo, Filter &ft)
shdrout.shdr[1].sh_offset = shdrout.shdr[2].sh_offset+shdrout.shdr[2].sh_size;
fo->write(&shdrout, ssize);
fo->write(o_shstrtab,shdrout.shdr[2].sh_size);
fo->write(buildid_data,shdrout.shdr[1].sh_size);
}

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them
@ -192,7 +192,7 @@ protected:
__packed_struct(cprElfShdr3)
Elf32_Shdr shdr[3];
__packed_struct_end();
__packed_struct_end()
cprElfShdr3 shdrout;
@ -305,7 +305,7 @@ protected:
__packed_struct(cprElfShdr3)
Elf64_Shdr shdr[3];
__packed_struct_end();
__packed_struct_end()
cprElfShdr3 shdrout;

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2001-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2001-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2000-2011 John F. Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2000-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,7 +2,7 @@
This file is part of the UPX executable compressor.
Copyright (C) 2004-2011 John Reiser
Copyright (C) 2004-2012 John Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,7 +2,7 @@
This file is part of the UPX executable compressor.
Copyright (C) 2007-2011 John F. Reiser
Copyright (C) 2007-2012 John F. Reiser
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them
@ -53,7 +53,7 @@
enum { // filetype
MH_EXECUTE = 2,
MH_DYLIB = 6,
MH_BUNDLE = 8 /* dynamically bound bundle file */
MH_BUNDLE = 8 /* dynamically bound bundle file */
};
enum { // flags
MH_NOUNDEFS = 1

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2002-2011 Jens Medoch
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2002-2012 Jens Medoch
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2002-2011 Jens Medoch
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
Copyright (C) 2002-2012 Jens Medoch
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,9 +2,9 @@
This file is part of the UPX executable compressor.
Copyright (C) 2004-2011 John Reiser
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 2004-2012 John Reiser
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

View File

@ -2,8 +2,8 @@
This file is part of the UPX executable compressor.
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 Laszlo Molnar
Copyright (C) 1996-2012 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2012 Laszlo Molnar
All Rights Reserved.
UPX and the UCL library are free software; you can redistribute them

Some files were not shown because too many files have changed in this diff Show More