diff -Naur binutils-2.18.50/bfd/ChangeLog binutils-2.18.50-cr16/bfd/ChangeLog --- binutils-2.18.50/bfd/ChangeLog 2007-10-12 09:04:44.000000000 +0530 +++ binutils-2.18.50-cr16/bfd/ChangeLog 2007-10-12 14:54:53.000000000 +0530 @@ -1,3 +1,7 @@ +2007-10-12 M R Swami Reddy + + * elf32-cr16.c (elf32_cr16_relax_section): Fix condition check typo. + 2007-10-12 Alan Modra * elf.c (elfcore_grok_prxfpreg): Fix comment typo. diff -Naur binutils-2.18.50/bfd/elf32-cr16.c binutils-2.18.50-cr16/bfd/elf32-cr16.c --- binutils-2.18.50/bfd/elf32-cr16.c 2007-10-01 21:25:44.000000000 +0530 +++ binutils-2.18.50-cr16/bfd/elf32-cr16.c 2007-10-12 14:54:09.000000000 +0530 @@ -1337,7 +1337,7 @@ /* Verify it's a arithmetic ADDD or MOVD instruction. For ADDD and MOVD only, convert to IMM32 -> IMM20. */ - if (((code & 0xfff0) != 0x0070) || ((code & 0xfff0) != 0x0020)) + if (((code & 0xfff0) == 0x0070) || ((code & 0xfff0) == 0x0020)) is_add_mov = 1; if (is_add_mov) diff -Naur binutils-2.18.50/gas/ChangeLog binutils-2.18.50-cr16/gas/ChangeLog --- binutils-2.18.50/gas/ChangeLog 2007-10-12 01:50:55.000000000 +0530 +++ binutils-2.18.50-cr16/gas/ChangeLog 2007-10-12 14:52:41.000000000 +0530 @@ -1,3 +1,8 @@ +2007-10-12 M R Swami Reddy + + * config/tc-cr16.c: Update the md_relax_table for 1 word b + instruction range information. + 2007-10-11 Nick Clifton * config/obj-elf.c (obj_elf_section): When pushing a section, if diff -Naur binutils-2.18.50/gas/config/tc-cr16.c binutils-2.18.50-cr16/gas/config/tc-cr16.c --- binutils-2.18.50/gas/config/tc-cr16.c 2007-10-01 21:25:43.000000000 +0530 +++ binutils-2.18.50-cr16/gas/config/tc-cr16.c 2007-10-12 12:41:59.000000000 +0530 @@ -255,7 +255,7 @@ const relax_typeS md_relax_table[] = { /* bCC */ - {0xfa, -0x100, 2, 1}, /* 8 */ + {0x7f, -0x80, 2, 1}, /* 8 */ {0xfffe, -0x10000, 4, 2}, /* 16 */ {0xfffffe, -0x1000000, 6, 0}, /* 24 */ };