From f165cee058716391ff0f31bbedde69d7b6a63db3 Mon Sep 17 00:00:00 2001
From: nickysn <nickysn@gmail.com>
Date: Sun, 6 Oct 2013 00:32:10 +0000
Subject: [PATCH] + save the absolute variable's segment to the ppu file after
 r25666 * incremented the ppu version

git-svn-id: trunk@25672 -
---
 compiler/ppu.pas    |  2 +-
 compiler/symsym.pas | 20 ++++++++++++++------
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/compiler/ppu.pas b/compiler/ppu.pas
index 2699ecb9fb..29f1d3f123 100644
--- a/compiler/ppu.pas
+++ b/compiler/ppu.pas
@@ -43,7 +43,7 @@ type
 {$endif Test_Double_checksum}
 
 const
-  CurrentPPUVersion = 163;
+  CurrentPPUVersion = 164;
 
 { buffer sizes }
   maxentrysize = 1024;
diff --git a/compiler/symsym.pas b/compiler/symsym.pas
index e0d7b4aaf9..cfcb426cd4 100644
--- a/compiler/symsym.pas
+++ b/compiler/symsym.pas
@@ -2057,9 +2057,9 @@ implementation
          ref:=nil;
          asmname:=nil;
          abstyp:=absolutetyp(ppufile.getbyte);
-{$ifdef i386}
+{$if defined(i386) or defined(i8086)}
          absseg:=false;
-{$endif i386}
+{$endif i386 or i8086}
          case abstyp of
            tovar :
              ref:=ppufile.getpropaccesslist;
@@ -2068,9 +2068,13 @@ implementation
            toaddr :
              begin
                addroffset:=ppufile.getaword;
-{$ifdef i386}
+{$if defined(i386)}
                absseg:=boolean(ppufile.getbyte);
-{$endif i386}
+{$elseif defined(i8086)}
+               absseg:=boolean(ppufile.getbyte);
+               if absseg then
+                 addrsegment:=ppufile.getaword;
+{$endif}
              end;
          end;
       end;
@@ -2088,9 +2092,13 @@ implementation
            toaddr :
              begin
                ppufile.putaword(addroffset);
-{$ifdef i386}
+{$if defined(i386)}
                ppufile.putbyte(byte(absseg));
-{$endif i386}
+{$elseif defined(i8086)}
+               ppufile.putbyte(byte(absseg));
+               if absseg then
+                 ppufile.putaword(addrsegment);
+{$endif}
              end;
          end;
          ppufile.writeentry(ibabsolutevarsym);