segLINK.initprot |= VM_PROT_EXECUTE
changed src/p_mach.cpp
This commit is contained in:
committed by
Markus F.X.J. Oberhumer
parent
345a1c64f9
commit
e2160fb6c9
+4
-1
@@ -836,6 +836,8 @@ next:
|
|||||||
}
|
}
|
||||||
if (!strcmp("__LINKEDIT", segptr->segname)) {
|
if (!strcmp("__LINKEDIT", segptr->segname)) {
|
||||||
memcpy(&segLINK, segptr, sizeof(segLINK));
|
memcpy(&segLINK, segptr, sizeof(segLINK));
|
||||||
|
segLINK.initprot = Mach_segment_command::VM_PROT_READ
|
||||||
|
| Mach_segment_command::VM_PROT_EXECUTE;
|
||||||
delta = offLINK - segLINK.fileoff; // relocation constant
|
delta = offLINK - segLINK.fileoff; // relocation constant
|
||||||
|
|
||||||
// The contents for __LINKEDIT remain the same,
|
// The contents for __LINKEDIT remain the same,
|
||||||
@@ -1722,7 +1724,8 @@ void PackMachBase<T>::pack1(OutputFile *const fo, Filter &/*ft*/) // generate e
|
|||||||
segLINK.cmdsize = sizeof(segLINK);
|
segLINK.cmdsize = sizeof(segLINK);
|
||||||
strncpy((char *)segLINK.segname, "__LINKEDIT", sizeof(segLINK.segname));
|
strncpy((char *)segLINK.segname, "__LINKEDIT", sizeof(segLINK.segname));
|
||||||
segLINK.nsects = 0;
|
segLINK.nsects = 0;
|
||||||
segLINK.initprot = Mach_segment_command::VM_PROT_READ;
|
segLINK.initprot = Mach_segment_command::VM_PROT_READ
|
||||||
|
| Mach_segment_command::VM_PROT_EXECUTE;
|
||||||
// Adjust later: .vmaddr .vmsize .fileoff .filesize
|
// Adjust later: .vmaddr .vmsize .fileoff .filesize
|
||||||
|
|
||||||
if (my_filetype == Mach_header::MH_EXECUTE) {
|
if (my_filetype == Mach_header::MH_EXECUTE) {
|
||||||
|
|||||||
Reference in New Issue
Block a user