Remove hacky code that truncates absolute addresses. (Bug 38)
authorggn <ggn.dbug@gmail.com>
Tue, 15 May 2018 15:59:52 +0000 (18:59 +0300)
committerShamus Hammons <jlhamm@acm.org>
Tue, 15 May 2018 18:35:04 +0000 (13:35 -0500)
token.c

diff --git a/token.c b/token.c
index 9d6decf5468709082b4c4551c4ed3948f219b837..22bc64ac557dd73bc8c3957a330e1b78bc653663 100644 (file)
--- a/token.c
+++ b/token.c
@@ -1315,45 +1315,20 @@ dostring:
                                        while (hextab[*ln] >= 0)
                                                v = (v << 4) + (int)hextab[*ln++];
 
-                                       if (*ln == '.')
-                                       {
-                                               if (obj_format == BSD)
-                                               {
-                                                       if ((*(ln + 1) & 0xDF) == 'B')
-                                                       {
-                                                               v &= 0x000000FF;
-                                                               ln += 2;
-                                                       }
-                                                       else if ((*(ln + 1) & 0xDF) == 'W')
-                                                       {
-                                                               v &= 0x0000FFFF;
-                                                               ln += 2;
-                                                       }
-                                                       else if ((*(ln + 1) & 0xDF) == 'L')
-                                                       {
-                                                               v &= 0xFFFFFFFF;
-                                                               ln += 2;
-                                                       }
-                                               }
-                                       }
-
                                        *tk.u32++ = CONST;
                                        *tk.u64++ = v;
 
-                                       if (obj_format == ALCYON)
+                                       if (*ln == '.')
                                        {
-                                               if (*ln == '.')
+                                               if ((*(ln + 1) == 'w') || (*(ln + 1) == 'W'))
                                                {
-                                                       if ((*(ln + 1) == 'w') || (*(ln + 1) == 'W'))
-                                                       {
-                                                               *tk.u32++ = DOTW;
-                                                               ln += 2;
-                                                       }
-                                                       else if ((*(ln + 1) == 'l') || (*(ln + 1) == 'L'))
-                                                       {
-                                                               *tk.u32++ = DOTL;
-                                                               ln += 2;
-                                                       }
+                                                       *tk.u32++ = DOTW;
+                                                       ln += 2;
+                                               }
+                                               else if ((*(ln + 1) == 'l') || (*(ln + 1) == 'L'))
+                                               {
+                                                       *tk.u32++ = DOTL;
+                                                       ln += 2;
                                                }
                                        }
                                }