+ added unit omfbase for omf definitions; currently contains all the omf record

type constants

git-svn-id: trunk@30331 -
This commit is contained in:
nickysn 2015-03-27 00:44:01 +00:00
parent f9d3e0c8d6
commit 49d501a798
4 changed files with 83 additions and 1 deletions

1
.gitattributes vendored
View File

@ -493,6 +493,7 @@ compiler/ogmacho.pas svneol=native#text/plain
compiler/ogmap.pas svneol=native#text/plain
compiler/ognlm.pas svneol=native#text/plain
compiler/ogomf.pas svneol=native#text/plain
compiler/omfbase.pas svneol=native#text/plain
compiler/optbase.pas svneol=native#text/plain
compiler/optconstprop.pas svneol=native#text/pascal
compiler/optcse.pas svneol=native#text/plain

View File

@ -33,6 +33,8 @@ interface
systems,
{ assembler }
cpuinfo,cpubase,aasmbase,assemble,link,
{ OMF definitions }
omfbase,
{ output }
ogbase,
owbase;

73
compiler/omfbase.pas Normal file
View File

@ -0,0 +1,73 @@
{
Copyright (c) 2015 by Nikolay Nikolov
Contains Relocatable Object Module Format (OMF) definitions
This is the object format used on the i8086-msdos platform.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
****************************************************************************
}
unit omfbase;
{$i fpcdefs.inc}
interface
const
{ OMF record types }
RT_THEADR = $80; { Translator Header Record }
RT_LHEADR = $82; { Library Module Header Record }
RT_COMENT = $88; { Comment Record }
RT_MODEND = $8A; { Module End Record }
RT_MODEND32 = $8B;
RT_EXTDEF = $8C; { External Names Definition Record }
RT_PUBDEF = $90; { Public Names Definition Record }
RT_PUBDEF32 = $91;
RT_LINNUM = $94; { Line Numbers Record }
RT_LINNUM32 = $95;
RT_LNAMES = $96; { List of Names Record }
RT_SEGDEF = $98; { Segment Definition Record }
RT_SEGDEF32 = $99;
RT_GRPDEF = $9A; { Group Definition Record }
RT_FIXUPP = $9C; { Fixup Record }
RT_FIXUPP32 = $9D;
RT_LEDATA = $A0; { Logical Enumerated Data Record }
RT_LEDATA32 = $A1;
RT_LIDATA = $A2; { Logical Iterated Data Record }
RT_LIDATA32 = $A3;
RT_COMDEF = $B0; { Communal Names Definition Record }
RT_BAKPAT = $B2; { Backpatch Record }
RT_BAKPAT32 = $B3;
RT_LEXTDEF = $B4; { Local External Names Definition Record }
RT_LEXTDEF32 = $B5;
RT_LPUBDEF = $B6; { Local Public Names Definition Record }
RT_LPUBDEF32 = $B7;
RT_LCOMDEF = $B8; { Local Communal Names Definition Record }
RT_CEXTDEF = $BC; { COMDAT External Names Definition Record }
RT_COMDAT = $C2; { Initialized Communal Data Record }
RT_COMDAT32 = $C3;
RT_LINSYM = $C4; { Symbol Line Numbers Record }
RT_LINSYM32 = $C5;
RT_ALIAS = $C6; { Alias Definition Record }
RT_NBKPAT = $C8; { Named Backpatch Record }
RT_NBKPAT32 = $C9;
RT_LLNAMES = $CA; { Local Logical Names Definition Record }
RT_VERNUM = $CC; { OMF Version Number Record }
RT_VENDEXT = $CE; { Vendor-specific OMF Extension Record }
implementation
end.

View File

@ -28,7 +28,7 @@
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<Units Count="231">
<Units Count="232">
<Unit0>
<Filename Value="pp.pas"/>
<IsPartOfProject Value="True"/>
@ -62,6 +62,7 @@
<Unit7>
<Filename Value="i8086\cputarg.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="cputarg"/>
</Unit7>
<Unit8>
<Filename Value="i8086\hlcgcpu.pas"/>
@ -1004,6 +1005,11 @@
<IsPartOfProject Value="True"/>
<UnitName Value="ogomf"/>
</Unit230>
<Unit231>
<Filename Value="omfbase.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="omfbase"/>
</Unit231>
</Units>
</ProjectOptions>
<CompilerOptions>