This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
GAS relaxation: estimation in md_relax_frag() do not match md_apply_fix()
- From: William Tambe <tambewilliam at gmail dot com>
- To: Binutils <binutils at sourceware dot org>
- Date: Tue, 3 Mar 2020 23:02:55 -0500
- Subject: GAS relaxation: estimation in md_relax_frag() do not match md_apply_fix()
In our Binutils port, GAS relaxing is done implementing md_relax_frag()
such that the displacement used to generate the growth amount to return
is computed using:
((S_GET_VALUE (symbolP) + fragP->fr_offset) -
(fragP->fr_address + fragP->fr_fix));
However, during md_apply_fix(), the same displacement value is greatly
different, causing it not to fit in the relocation fix estimated
during md_relax_frag().
Any idea what could explain it ?