* changed the Mach-O types from packed records in to regular records and

{$packrecords c}

git-svn-id: trunk@29997 -
This commit is contained in:
Jonas Maebe 2015-02-24 20:57:33 +00:00
parent 37a7304a8f
commit 215e2cc5de

View File

@ -19,6 +19,8 @@ unit machotypes;
interface
{$packrecords c}
type
TMachOMachineType = (mmtpowerpc, mmtpowerpc64, mmti386, mmtx86_64, mmtarm, mmtarm64);
TMachOSubMachineTypePowerPC = (msmppc_all);
@ -30,7 +32,7 @@ type
TSegSectName = array[0..15] of char;
type
TMachHdr = packed record
TMachHdr = record
magic : longword;
cputype : longint;
cpusubtype : longint;
@ -40,14 +42,14 @@ type
flags : longword;
end;
TLoadCommand = packed record
TLoadCommand = record
cmd : longword;
cmdsize : longword;
end;
//note: all commands don't include first two longwords
TSegmentCommand32 = packed record
TSegmentCommand32 = record
name : TSegSectName;
vmaddr : longword;
vmsize : longword;
@ -59,7 +61,7 @@ type
flags : longword;
end;
TSegmentCommand64 = packed record
TSegmentCommand64 = record
name : TSegSectName;
vmaddr : qword;
vmsize : qword;
@ -71,7 +73,7 @@ type
flags : longword;
end;
TSection32 = packed record
TSection32 = record
sectname : TSegSectName;
segname : TSegSectName;
addr : longword;
@ -85,7 +87,7 @@ type
reserved2 : longword;
end;
TSection64 = packed record
TSection64 = record
sectname : TSegSectName;
segname : TSegSectName;
addr : qword;
@ -100,14 +102,14 @@ type
reserved3 : longword;
end;
TSymtabCommand = packed record
TSymtabCommand = record
symoff : longword;
nsyms : longword;
stroff : longword;
strsize : longword;
end;
TDySymtabCommand = packed record
TDySymtabCommand = record
ilocalsym : longword;
nlocalsym : longword;
iextdefsym : longword;
@ -128,7 +130,7 @@ type
nlocrel : longword;
end;
TNList32 = packed record
TNList32 = record
strx : longword;
_type : byte;
sect : byte;
@ -137,7 +139,7 @@ type
end;
PNList32 = ^TNList32;
TNList64 = packed record
TNList64 = record
strx : longword;
_type : byte;
sect : byte;
@ -146,7 +148,7 @@ type
end;
PNList64 = ^TNList64;
TRelocationInfo = packed record
TRelocationInfo = record
address : longword;
flags : longword;
end;