The relax finalize pass has broken relax for h8300-coff
H. J. Lu
hjl@lucon.org
Wed Nov 26 20:50:00 GMT 2003
On Wed, Nov 26, 2003 at 04:10:06PM +0530, Asgari J. Jinia wrote:
> Hi,
>
> There are many errors when using -relax for h8300-coff.
> The 16 bit PC relative branch to 8 bit PC relative branch ( R_PCRWORD ) relaxation is done for boundary cases and "relocation truncated to fit" error occurs for other cases.
>
> Adding -relax option for C code with call to sin(), cos(), malloc(), free() etc gives relocation truncated o fit error.
>
This patch should fix the problem.
H.J.
----
2003-11-26 H.J. Lu <hongjiu.lu@intel.com>
* reloc16.c (bfd_coff_reloc16_relax_section): Do nothing for
the relax finalize pass.
--- bfd/reloc16.c.final 2003-06-26 07:34:49.000000000 -0700
+++ bfd/reloc16.c 2003-11-26 12:46:20.000000000 -0800
@@ -155,6 +155,10 @@ bfd_coff_reloc16_relax_section (abfd, in
times (see discussion of the "shrinks" array below). */
*again = FALSE;
+ /* We don't support the relax finalize pass. */
+ if (link_info->relax_finalizing)
+ return TRUE;
+
if (reloc_size < 0)
return FALSE;
More information about the Binutils
mailing list