From b49281938d1f72087aab9249c3d593622ebfe580 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 4 Jul 2007 14:23:22 +0000 Subject: [PATCH] * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly compensate for high bit set in R_MEP_LOW16. --- bfd/ChangeLog | 9 +++++++++ bfd/elf32-mep.c | 2 ++ 2 files changed, 11 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 85656806e97..7d886067273 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,12 @@ +2007-07-04 Nick Clifton + + Import this patch from an internal tree: + + 2001-07-17 Richard Henderson + + * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly + compensate for high bit set in R_MEP_LOW16. + 2007-07-03 Joseph Myers * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c index 0bba7e5010f..d1ee6a96952 100644 --- a/bfd/elf32-mep.c +++ b/bfd/elf32-mep.c @@ -333,6 +333,8 @@ mep_final_link_relocate byte[3^e2] = ((u >> 16) & 0xff); break; case R_MEP_HI16S: /* ----------------vutsrqponmlkjihg */ + if (s & 0x8000) + s += 0x10000; byte[2^e2] = ((s >> 24) & 0xff); byte[3^e2] = ((s >> 16) & 0xff); break; -- 2.30.2