mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-25 01:10:01 +02:00
* 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:
parent
37a7304a8f
commit
215e2cc5de
@ -19,6 +19,8 @@ unit machotypes;
|
|||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
{$packrecords c}
|
||||||
|
|
||||||
type
|
type
|
||||||
TMachOMachineType = (mmtpowerpc, mmtpowerpc64, mmti386, mmtx86_64, mmtarm, mmtarm64);
|
TMachOMachineType = (mmtpowerpc, mmtpowerpc64, mmti386, mmtx86_64, mmtarm, mmtarm64);
|
||||||
TMachOSubMachineTypePowerPC = (msmppc_all);
|
TMachOSubMachineTypePowerPC = (msmppc_all);
|
||||||
@ -30,7 +32,7 @@ type
|
|||||||
TSegSectName = array[0..15] of char;
|
TSegSectName = array[0..15] of char;
|
||||||
|
|
||||||
type
|
type
|
||||||
TMachHdr = packed record
|
TMachHdr = record
|
||||||
magic : longword;
|
magic : longword;
|
||||||
cputype : longint;
|
cputype : longint;
|
||||||
cpusubtype : longint;
|
cpusubtype : longint;
|
||||||
@ -40,14 +42,14 @@ type
|
|||||||
flags : longword;
|
flags : longword;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TLoadCommand = packed record
|
TLoadCommand = record
|
||||||
cmd : longword;
|
cmd : longword;
|
||||||
cmdsize : longword;
|
cmdsize : longword;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//note: all commands don't include first two longwords
|
//note: all commands don't include first two longwords
|
||||||
|
|
||||||
TSegmentCommand32 = packed record
|
TSegmentCommand32 = record
|
||||||
name : TSegSectName;
|
name : TSegSectName;
|
||||||
vmaddr : longword;
|
vmaddr : longword;
|
||||||
vmsize : longword;
|
vmsize : longword;
|
||||||
@ -59,7 +61,7 @@ type
|
|||||||
flags : longword;
|
flags : longword;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TSegmentCommand64 = packed record
|
TSegmentCommand64 = record
|
||||||
name : TSegSectName;
|
name : TSegSectName;
|
||||||
vmaddr : qword;
|
vmaddr : qword;
|
||||||
vmsize : qword;
|
vmsize : qword;
|
||||||
@ -71,7 +73,7 @@ type
|
|||||||
flags : longword;
|
flags : longword;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TSection32 = packed record
|
TSection32 = record
|
||||||
sectname : TSegSectName;
|
sectname : TSegSectName;
|
||||||
segname : TSegSectName;
|
segname : TSegSectName;
|
||||||
addr : longword;
|
addr : longword;
|
||||||
@ -85,7 +87,7 @@ type
|
|||||||
reserved2 : longword;
|
reserved2 : longword;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TSection64 = packed record
|
TSection64 = record
|
||||||
sectname : TSegSectName;
|
sectname : TSegSectName;
|
||||||
segname : TSegSectName;
|
segname : TSegSectName;
|
||||||
addr : qword;
|
addr : qword;
|
||||||
@ -100,14 +102,14 @@ type
|
|||||||
reserved3 : longword;
|
reserved3 : longword;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TSymtabCommand = packed record
|
TSymtabCommand = record
|
||||||
symoff : longword;
|
symoff : longword;
|
||||||
nsyms : longword;
|
nsyms : longword;
|
||||||
stroff : longword;
|
stroff : longword;
|
||||||
strsize : longword;
|
strsize : longword;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TDySymtabCommand = packed record
|
TDySymtabCommand = record
|
||||||
ilocalsym : longword;
|
ilocalsym : longword;
|
||||||
nlocalsym : longword;
|
nlocalsym : longword;
|
||||||
iextdefsym : longword;
|
iextdefsym : longword;
|
||||||
@ -128,7 +130,7 @@ type
|
|||||||
nlocrel : longword;
|
nlocrel : longword;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TNList32 = packed record
|
TNList32 = record
|
||||||
strx : longword;
|
strx : longword;
|
||||||
_type : byte;
|
_type : byte;
|
||||||
sect : byte;
|
sect : byte;
|
||||||
@ -137,7 +139,7 @@ type
|
|||||||
end;
|
end;
|
||||||
PNList32 = ^TNList32;
|
PNList32 = ^TNList32;
|
||||||
|
|
||||||
TNList64 = packed record
|
TNList64 = record
|
||||||
strx : longword;
|
strx : longword;
|
||||||
_type : byte;
|
_type : byte;
|
||||||
sect : byte;
|
sect : byte;
|
||||||
@ -146,7 +148,7 @@ type
|
|||||||
end;
|
end;
|
||||||
PNList64 = ^TNList64;
|
PNList64 = ^TNList64;
|
||||||
|
|
||||||
TRelocationInfo = packed record
|
TRelocationInfo = record
|
||||||
address : longword;
|
address : longword;
|
||||||
flags : longword;
|
flags : longword;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user