2003-10-04 Christian Groessler <chris@groessler.org>
* coff-z8k.c (extra_case): Fix displacement length check for R_JR and R_CALLR.
This commit is contained in:
parent
0a6a3ebe97
commit
8b7cf393a5
2 changed files with 8 additions and 3 deletions
|
@ -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>
|
2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
|
||||||
|
|
||||||
* elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
|
* elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
|
||||||
|
|
|
@ -268,7 +268,7 @@ extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr)
|
||||||
abort ();
|
abort ();
|
||||||
gap /= 2;
|
gap /= 2;
|
||||||
|
|
||||||
if (gap > 0 || gap < -128)
|
if (gap > 0 || gap < -127)
|
||||||
{
|
{
|
||||||
if (! ((*link_info->callbacks->reloc_overflow)
|
if (! ((*link_info->callbacks->reloc_overflow)
|
||||||
(link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
|
(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)
|
if (gap & 1)
|
||||||
abort ();
|
abort ();
|
||||||
gap /= 2;
|
if (gap > 4096 || gap < -4095)
|
||||||
if (gap > 8191 || gap < -8192)
|
|
||||||
{
|
{
|
||||||
if (! ((*link_info->callbacks->reloc_overflow)
|
if (! ((*link_info->callbacks->reloc_overflow)
|
||||||
(link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
|
(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)))
|
input_section, reloc->address)))
|
||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
|
gap /= 2;
|
||||||
bfd_put_16 (in_abfd,
|
bfd_put_16 (in_abfd,
|
||||||
(bfd_get_16 ( in_abfd, data + *dst_ptr) & 0xf000) | (-gap & 0x0fff),
|
(bfd_get_16 ( in_abfd, data + *dst_ptr) & 0xf000) | (-gap & 0x0fff),
|
||||||
data + *dst_ptr);
|
data + *dst_ptr);
|
||||||
|
|
Loading…
Reference in a new issue