Small fix for FU_JR fixups.
authorShamus Hammons <jlhamm@acm.org>
Sat, 24 Nov 2012 20:00:29 +0000 (14:00 -0600)
committerShamus Hammons <jlhamm@acm.org>
Sat, 24 Nov 2012 20:00:29 +0000 (14:00 -0600)
debug.c
sect.c

diff --git a/debug.c b/debug.c
index 6ce006501c94f294512ce5d375ca59ce20401a07..22452671ea6915be9f689de09d7d3cfbb93979b4 100644 (file)
--- a/debug.c
+++ b/debug.c
@@ -118,6 +118,9 @@ int fudump(CHUNK * ch)
                                printf("`%s' ;\n", (*p.sy)->sname);
                                p.sy++;
                        }
+
+                       if ((attr & 0x0F00) == FU_JR)
+                               p.lp++;
                }
 
                ch = ch->chnext;
diff --git a/sect.c b/sect.c
index 53ba02b85edd65aa786d444a82a985d7169014f2..3fd627a409560ea80ad3c38f5fc47ac1db93ffa1 100644 (file)
--- a/sect.c
+++ b/sect.c
@@ -279,7 +279,8 @@ int fixup(WORD attr, LONG loc, TOKEN * fexpr)
                if ((attr & 0x0F00) == FU_JR)
                {
 //                     i = 18;
-                       i = FIXUP_BASE_SIZE + (sizeof(LONG) * 2);
+//                     i = FIXUP_BASE_SIZE + (sizeof(LONG) * 2);
+                       i = FIXUP_BASE_SIZE + sizeof(SYM *) + sizeof(LONG);
                }
                else
                {