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
+3 -1
View File
@@ -322,7 +322,8 @@ void PackUnix::packExtent(
unsigned &total_out,
Filter *ft,
OutputFile *fo,
unsigned hdr_u_len
unsigned hdr_u_len,
unsigned b_extra
)
{
unsigned const init_u_adler = ph.u_adler;
@@ -425,6 +426,7 @@ void PackUnix::packExtent(
tmp.b_cto8 = ft->cto;
}
}
tmp.b_extra = b_extra;
fo->write(&tmp, sizeof(tmp));
b_len += sizeof(b_info);