This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: fix alpha glibc miscompilation
- From: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 08 Jun 2003 11:56:49 +0200
- Subject: Re: fix alpha glibc miscompilation
- References: <20030607145229.A26168@redhat.com>
Richard Henderson <rth@redhat.com> writes:
> * This results in two blocks containing calls, one of
> which then branches to the join block containing the
> gp-reload. It is this path containing the branch that
> is incorrect -- the gp-reload is pc-relative and is
> fed the return address from the function; the first
> insn of the gp-reload must *immediately* follow the call.
I guess I'm missing something, but can't one just mark the call with a
label and add an offset to the reload which is the difference between
the label and the instruction pointer? I think the relocator can take
existing nonzero offsets into account.
--
Falk