aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-m68k.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2012-11-05 07:10:37 +0000
committerAlan Modra <amodra@gmail.com>2012-11-05 07:10:37 +0000
commit552c607f04fd0925fb808fddc1803f966cc365c1 (patch)
tree8b7e86ccd6c42dbb7f0b2721e4d355c3ac870078 /gas/config/tc-m68k.c
parentd4f1ee75e7381b210d5da54c9b6b6ff74aa96c00 (diff)
downloadgdb-552c607f04fd0925fb808fddc1803f966cc365c1.zip
gdb-552c607f04fd0925fb808fddc1803f966cc365c1.tar.gz
gdb-552c607f04fd0925fb808fddc1803f966cc365c1.tar.bz2
* write.h (struct fix <fx_pcrel_adjust>): Make it a signed char.
* config/tc-m68k.c (tc_gen_reloc, md_pcrel_from): Remove explicit sign extendion of fx_pxrel_adjust.
Diffstat (limited to 'gas/config/tc-m68k.c')
-rw-r--r--gas/config/tc-m68k.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index 21accf6..ea47ba4 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -1377,9 +1377,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
reloc->addend = fixp->fx_addnumber;
else
reloc->addend = (section->vma
- /* Explicit sign extension in case char is
- unsigned. */
- + ((fixp->fx_pcrel_adjust & 0xff) ^ 0x80) - 0x80
+ + fixp->fx_pcrel_adjust
+ fixp->fx_addnumber
+ md_pcrel_from (fixp));
#endif
@@ -7911,9 +7909,7 @@ md_pcrel_from (fixS *fixP)
{
int adjust;
- /* Because fx_pcrel_adjust is a char, and may be unsigned, we explicitly
- sign extend the value here. */
- adjust = ((fixP->fx_pcrel_adjust & 0xff) ^ 0x80) - 0x80;
+ adjust = fixP->fx_pcrel_adjust;
if (adjust == 64)
adjust = -1;
return fixP->fx_where + fixP->fx_frag->fr_address - adjust;