Use BUILD_DIRS and MAKE_ENV instead of writing do-install phase manually. Add sparc{,64} support to package. Fixes build on OpenBSD/sparc64 at least. Defuzz patches. From NEWS: ================================================================== User visible changes for UPX ================================================================== Changes in 3.91 (30 Sep 2013): * Added experimental support for Windows 64-bit PE files, based on work by Stefan Widmann. Please use for testing only! * bug fixes ================================================================== Changes in 3.09 (18 Feb 2013): * New option --preserve-build-id for GNU ELF. * Allow for code signing and LC_UUID on Mac OS X executables. * Allow non-contiguous LC_SEGMENTs and 0==.vmsize for Mach-O. * Allow zero-filled final page in PackUnix::canUnpack(). * bug fixes
40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
$NetBSD: patch-src_p__exe.cpp,v 1.3 2014/05/26 01:30:39 rodent Exp $
|
|
|
|
--- src/p_exe.cpp.orig 2013-09-30 15:51:00.000000000 +0000
|
|
+++ src/p_exe.cpp
|
|
@@ -110,7 +110,7 @@ int PackExe::fillExeHeader(struct exe_he
|
|
oh.ss += 0x20;
|
|
|
|
if (oh.ss != ih.ss)
|
|
- flag |= SS;
|
|
+ flag |= upx_SS;
|
|
if (oh.sp != ih.sp || M_IS_LZMA(ph.method))
|
|
flag |= SP;
|
|
return flag;
|
|
@@ -131,7 +131,7 @@ void PackExe::addLoaderEpilogue(int flag
|
|
);
|
|
addLoader("EXEMAIN8",
|
|
device_driver ? "DEVICEEND" : "",
|
|
- (flag & SS) ? "EXESTACK" : "",
|
|
+ (flag & upx_SS) ? "EXESTACK" : "",
|
|
(flag & SP) ? "EXESTASP" : "",
|
|
(flag & USEJUMP) ? "EXEJUMPF" : "",
|
|
NULL
|
|
@@ -556,7 +556,7 @@ void PackExe::pack(OutputFile *fo)
|
|
{
|
|
set_le16(extra_info+eisize,ih.ss);
|
|
eisize += 2;
|
|
- assert((flag & SS) != 0); // set in fillExeHeader()
|
|
+ assert((flag & upx_SS) != 0); // set in fillExeHeader()
|
|
}
|
|
if (oh.sp != ih.sp)
|
|
{
|
|
@@ -779,7 +779,7 @@ void PackExe::unpack(OutputFile *fo)
|
|
{ imagesize -= 2; oh.min = get_le16(ibuf+imagesize); }
|
|
if (flag & SP)
|
|
{ imagesize -= 2; oh.sp = get_le16(ibuf+imagesize); }
|
|
- if (flag & SS)
|
|
+ if (flag & upx_SS)
|
|
{ imagesize -= 2; oh.ss = get_le16(ibuf+imagesize); }
|
|
|
|
unsigned ip = (flag & USEJUMP) ? get_le32(ibuf+imagesize-4) : (unsigned) ih.firstreloc;
|