Apple codesign requires a different secTEXT.size
This commit is contained in:
+4
-4
@@ -493,7 +493,7 @@ void PackMachPPC32::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
|||||||
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
||||||
secTEXT.offset = overlay_offset - sizeof(linfo);
|
secTEXT.offset = overlay_offset - sizeof(linfo);
|
||||||
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
||||||
secTEXT.size = segTEXT.vmsize - secTEXT.offset;
|
secTEXT.size = segTEXT.filesize - secTEXT.offset;
|
||||||
secXHDR.offset = overlay_offset - sizeof(linfo);
|
secXHDR.offset = overlay_offset - sizeof(linfo);
|
||||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||||
secXHDR.offset -= sizeof(uuid_cmd) + sizeof(linkitem);
|
secXHDR.offset -= sizeof(uuid_cmd) + sizeof(linkitem);
|
||||||
@@ -537,7 +537,7 @@ void PackMachI386::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
|||||||
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
||||||
secTEXT.offset = overlay_offset - sizeof(linfo);
|
secTEXT.offset = overlay_offset - sizeof(linfo);
|
||||||
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
||||||
secTEXT.size = segTEXT.vmsize - secTEXT.offset;
|
secTEXT.size = segTEXT.filesize - secTEXT.offset;
|
||||||
secXHDR.offset = overlay_offset - sizeof(linfo);
|
secXHDR.offset = overlay_offset - sizeof(linfo);
|
||||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||||
secXHDR.offset -= sizeof(uuid_cmd) + sizeof(linkitem);
|
secXHDR.offset -= sizeof(uuid_cmd) + sizeof(linkitem);
|
||||||
@@ -581,7 +581,7 @@ void PackMachAMD64::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
|||||||
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
||||||
secTEXT.offset = overlay_offset - sizeof(linfo);
|
secTEXT.offset = overlay_offset - sizeof(linfo);
|
||||||
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
||||||
secTEXT.size = segTEXT.vmsize - secTEXT.offset;
|
secTEXT.size = segTEXT.filesize - secTEXT.offset;
|
||||||
secXHDR.offset = overlay_offset - sizeof(linfo);
|
secXHDR.offset = overlay_offset - sizeof(linfo);
|
||||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||||
secXHDR.offset -= sizeof(uuid_cmd) + sizeof(linkitem);
|
secXHDR.offset -= sizeof(uuid_cmd) + sizeof(linkitem);
|
||||||
@@ -625,7 +625,7 @@ void PackMachARMEL::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
|||||||
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
||||||
secTEXT.offset = overlay_offset - sizeof(linfo);
|
secTEXT.offset = overlay_offset - sizeof(linfo);
|
||||||
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
||||||
secTEXT.size = segTEXT.vmsize - secTEXT.offset;
|
secTEXT.size = segTEXT.filesize - secTEXT.offset;
|
||||||
secXHDR.offset = overlay_offset - sizeof(linfo);
|
secXHDR.offset = overlay_offset - sizeof(linfo);
|
||||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||||
secXHDR.offset -= sizeof(uuid_cmd) + sizeof(linkitem);
|
secXHDR.offset -= sizeof(uuid_cmd) + sizeof(linkitem);
|
||||||
|
|||||||
Reference in New Issue
Block a user