Mach-o LC_SEGMENTs not monotonic in file (__DWARF for 'go')

https://github.com/upx/upx/issues/222  go-1.14 (but not go-1.14.3 ?)
	modified:   ../p_mach.cpp
	modified:   ../p_mach.h
	modified:   ../p_unix.cpp
	modified:   ../p_unix.h
	modified:   ../stub/src/amd64-darwin.macho-main.c

	modified:   ../stub/amd64-darwin.macho-fold.h
	modified:   ../stub/arm.v5a-darwin.macho-fold.h
	modified:   ../stub/arm64-darwin.macho-fold.h
	modified:   ../stub/tmp/amd64-darwin.macho-fold.map
	modified:   ../stub/tmp/arm.v5a-darwin.macho-fold.map
	modified:   ../stub/tmp/arm64-darwin.macho-fold.map
This commit is contained in:
John Reiser
2020-05-30 02:54:09 -07:00
committed by Markus F.X.J. Oberhumer
parent 17bd0b3248
commit 4ae1576726
11 changed files with 618 additions and 543 deletions
+4 -4
View File
@@ -73,7 +73,7 @@ protected:
};
virtual void packExtent(const Extent &x,
unsigned &total_in, unsigned &total_out, Filter *, OutputFile *,
unsigned hdr_len = 0);
unsigned hdr_len = 0, unsigned b_extra = 0);
virtual void unpackExtent(unsigned wanted, OutputFile *fo,
unsigned &total_in, unsigned &total_out,
unsigned &c_adler, unsigned &u_adler,
@@ -98,7 +98,7 @@ protected:
unsigned char b_method; // compression algorithm
unsigned char b_ftid; // filter id
unsigned char b_cto8; // filter parameter
unsigned char b_unused;
unsigned char b_extra;
__packed_struct_end()
__packed_struct(l_info) // 12-byte trailer in header for loader
@@ -139,7 +139,7 @@ protected:
unsigned char b_method; // compression algorithm
unsigned char b_ftid; // filter id
unsigned char b_cto8; // filter parameter
unsigned char b_unused;
unsigned char b_extra;
__packed_struct_end()
__packed_struct(l_info) // 12-byte trailer in header for loader
@@ -171,7 +171,7 @@ protected:
unsigned char b_method; // compression algorithm
unsigned char b_ftid; // filter id
unsigned char b_cto8; // filter parameter
unsigned char b_unused;
unsigned char b_extra;
__packed_struct_end()
__packed_struct(l_info) // 12-byte trailer in header for loader