From b94e4cd8af72c304fd483a70ed2123ea5542f53b Mon Sep 17 00:00:00 2001 From: ggn Date: Tue, 15 May 2018 18:59:52 +0300 Subject: [PATCH 1/1] Remove hacky code that truncates absolute addresses. (Bug 38) --- token.c | 43 +++++++++---------------------------------- 1 file changed, 9 insertions(+), 34 deletions(-) diff --git a/token.c b/token.c index 9d6decf..22bc64a 100644 --- 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; } } } -- 2.37.2