diff --git a/.gitattributes b/.gitattributes
index 9aff814f5f..b0e20ab483 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -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
diff --git a/compiler/ogomf.pas b/compiler/ogomf.pas
index 222a973410..74cd38c781 100644
--- a/compiler/ogomf.pas
+++ b/compiler/ogomf.pas
@@ -33,6 +33,8 @@ interface
systems,
{ assembler }
cpuinfo,cpubase,aasmbase,assemble,link,
+ { OMF definitions }
+ omfbase,
{ output }
ogbase,
owbase;
diff --git a/compiler/omfbase.pas b/compiler/omfbase.pas
new file mode 100644
index 0000000000..7686e3d29a
--- /dev/null
+++ b/compiler/omfbase.pas
@@ -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.
diff --git a/compiler/ppc8086.lpi b/compiler/ppc8086.lpi
index 93cf1172c1..5f14dba7e8 100644
--- a/compiler/ppc8086.lpi
+++ b/compiler/ppc8086.lpi
@@ -28,7 +28,7 @@
-
+
@@ -62,6 +62,7 @@
+
@@ -1004,6 +1005,11 @@
+
+
+
+
+