aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-sh.c
diff options
context:
space:
mode:
authorJoern Rennecke <joern.rennecke@embecosm.com>2000-05-15 23:10:59 +0000
committerJoern Rennecke <joern.rennecke@embecosm.com>2000-05-15 23:10:59 +0000
commit851cde108c53d54157e83462f5e76a08817f26ab (patch)
tree9adbed6360e1657874f9b2b77e739ba8854bc7b4 /bfd/elf32-sh.c
parent2a00c9cefffed14448cf0a35d9ea6d1edd56bbb8 (diff)
downloadgdb-851cde108c53d54157e83462f5e76a08817f26ab.zip
gdb-851cde108c53d54157e83462f5e76a08817f26ab.tar.gz
gdb-851cde108c53d54157e83462f5e76a08817f26ab.tar.bz2
* elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
Diffstat (limited to 'bfd/elf32-sh.c')
-rw-r--r--bfd/elf32-sh.c7
1 files changed, 7 insertions, 0 deletions
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)