diff options
-rw-r--r-- | bfd/ChangeLog | 4 | ||||
-rw-r--r-- | bfd/elf32-sh.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2630257..013530a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +Tue May 16 00:04:11 2000 J"orn Rennecke <amylaar@cygnus.co.uk> + + * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8. + 2000-05-14 Philip Blundell <philb@gnu.org> * config.bfd (armeb-*-elf, arm*b-*-linux-gnu*): New targets. diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index 6913fa4..7fe30ef 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -1394,6 +1394,13 @@ sh_elf_relax_delete_bytes (abfd, sec, addr, count) bfd_put_16 (abfd, insn, contents + nraddr); break; + case R_SH_SWITCH8: + voff += adjust; + if (voff < 0 || voff >= 0xff) + overflow = true; + bfd_put_8 (abfd, voff, contents + nraddr); + break; + case R_SH_SWITCH16: voff += adjust; if (voff < - 0x8000 || voff >= 0x8000) |