gas signed overflow fixes
[deliverable/binutils-gdb.git] / gas / config / tc-mep.c
index c0d48e835437fb68fcb834d6f6db24a952957cfd..18e96c80465d2c2a17e817edf2f3277b389c2a6c 100644 (file)
@@ -1790,7 +1790,7 @@ mep_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
     switch (fixP->fx_cgen.opinfo)
       {
       case BFD_RELOC_MEP_LOW16:
-       *valP = ((long)(*valP & 0xffff)) << 16 >> 16;
+       *valP = ((*valP & 0xffff) ^ 0x8000) - 0x8000;
        break;
       case BFD_RELOC_MEP_HI16U:
        *valP >>= 16;
This page took 0.02654 seconds and 4 git commands to generate.