diff options
author | Alan Modra <amodra@gmail.com> | 2005-12-27 03:06:27 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-12-27 03:06:27 +0000 |
commit | 44da2da10b10bc7e70095c3dc8737278c9a65149 (patch) | |
tree | 0ea762104aae9230edc2e3722cc9db42e49c1e4b /bfd/coff-h8500.c | |
parent | 2dadb5f9cc368df59d05f8e2313c2fa8c9bc9dac (diff) | |
download | gdb-44da2da10b10bc7e70095c3dc8737278c9a65149.zip gdb-44da2da10b10bc7e70095c3dc8737278c9a65149.tar.gz gdb-44da2da10b10bc7e70095c3dc8737278c9a65149.tar.bz2 |
* coff-h8300.c (h8300_reloc16_extra_cases): Use input section
"output_offset" instead of link order "offset".
* coff-h8500.c (extra_case): Likewise.
* coff-w65.c (w65_reloc16_extra_cases): Likewise.
* coff-z80.c (extra_case): Likewise.
* coff-z8k.c (extra_case): Likewise.
* linker.c (default_indirect_link_order): Likewise, "size" too.
* ecoff.c (ecoff_indirect_link_order): Likewise.
Diffstat (limited to 'bfd/coff-h8500.c')
-rw-r--r-- | bfd/coff-h8500.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/bfd/coff-h8500.c b/bfd/coff-h8500.c index bef704b..e9c878d 100644 --- a/bfd/coff-h8500.c +++ b/bfd/coff-h8500.c @@ -1,5 +1,5 @@ /* BFD back-end for Renesas H8/500 COFF binaries. - Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2002, 2003, 2004 + Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Contributed by Cygnus Support. Written by Steve Chamberlain, <sac@cygnus.com>. @@ -245,9 +245,9 @@ extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr) { bfd_vma dst = bfd_coff_reloc16_get_value (reloc, link_info, input_section); - bfd_vma dot = link_order->offset - + *dst_ptr - + link_order->u.indirect.section->output_section->vma; + bfd_vma dot = (*dst_ptr + + input_section->output_offset + + input_section->output_section->vma); int gap = dst - dot - 1; /* -1 since were in the odd byte of the word and the pc's been incremented. */ @@ -269,9 +269,9 @@ extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr) { bfd_vma dst = bfd_coff_reloc16_get_value (reloc, link_info, input_section); - bfd_vma dot = link_order->offset - + *dst_ptr - + link_order->u.indirect.section->output_section->vma; + bfd_vma dot = (*dst_ptr + + input_section->output_offset + + input_section->output_section->vma); int gap = dst - dot - 1; /* -1 since were in the odd byte of the word and the pc's been incremented. */ |