diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 85656806e975760e93dbb0e620051621f5a95440..7d88606727379499a3a1c451e62db26a5594279e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,12 @@ +2007-07-04 Nick Clifton <nickc@redhat.com> + + Import this patch from an internal tree: + + 2001-07-17 Richard Henderson <rth@redhat.com> + + * 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 <joseph@codesourcery.com> * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c index 0bba7e5010f7865a87613bd1386c02c4ebcab895..d1ee6a96952c81024bccad8c54aee7120b4d9027 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;