aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf32-sh.c7
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)