diff options
author | Christian Groessler <chris@groessler.org> | 2003-10-04 21:09:29 +0000 |
---|---|---|
committer | Christian Groessler <chris@groessler.org> | 2003-10-04 21:09:29 +0000 |
commit | 8b7cf393a5c43060fda7bb646a70ece4a5a24063 (patch) | |
tree | b4ffb66a84e5a224ff03f7a10f7571790f0d6d4f /bfd | |
parent | 0a6a3ebe971383afdfca26b4f9a2669bd09770b5 (diff) | |
download | gdb-8b7cf393a5c43060fda7bb646a70ece4a5a24063.zip gdb-8b7cf393a5c43060fda7bb646a70ece4a5a24063.tar.gz gdb-8b7cf393a5c43060fda7bb646a70ece4a5a24063.tar.bz2 |
2003-10-04 Christian Groessler <chris@groessler.org>
* coff-z8k.c (extra_case): Fix displacement length check for R_JR
and R_CALLR.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/coff-z8k.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f1bb64e..fe9f395 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2003-10-04 Christian Groessler <chris@groessler.org> + + * coff-z8k.c (extra_case): Fix displacement length check for R_JR + and R_CALLR. + 2003-10-04 Stephane Carrez <stcarrez@nerim.fr> * elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*. diff --git a/bfd/coff-z8k.c b/bfd/coff-z8k.c index 3337376..bc4bd24 100644 --- a/bfd/coff-z8k.c +++ b/bfd/coff-z8k.c @@ -268,7 +268,7 @@ extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr) abort (); gap /= 2; - if (gap > 0 || gap < -128) + if (gap > 0 || gap < -127) { if (! ((*link_info->callbacks->reloc_overflow) (link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr), @@ -295,8 +295,7 @@ extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr) if (gap & 1) abort (); - gap /= 2; - if (gap > 8191 || gap < -8192) + if (gap > 4096 || gap < -4095) { if (! ((*link_info->callbacks->reloc_overflow) (link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr), @@ -304,6 +303,7 @@ extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr) input_section, reloc->address))) abort (); } + gap /= 2; bfd_put_16 (in_abfd, (bfd_get_16 ( in_abfd, data + *dst_ptr) & 0xf000) | (-gap & 0x0fff), data + *dst_ptr); |