This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [PowerPC 64]r12 is not updated to GEP when control transferred from virtual thunk function .
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Umesh Kalappa <umesh dot kalappa0 at gmail dot com>
- Cc: Eric Botcazou <ebotcazou at adacore dot com>, gcc at gcc dot gnu dot org
- Date: Thu, 16 May 2019 17:52:42 -0500
- Subject: Re: [PowerPC 64]r12 is not updated to GEP when control transferred from virtual thunk function .
- References: <CAGfacvQc=X8vcxoVqbjbimTPLctQzKbzex1odEggRsjrphnurw@mail.gmail.com> <3290120.NdSNzDBL4k@polaris> <CAGfacvTwafpM7vzdv0x-rvx4KZh_uwhZ==MVjYP4qEfiQM9HJQ@mail.gmail.com> <1938670.JyHVrHFxKJ@polaris> <20190515235233.GN8599@gate.crashing.org> <CAGfacvQpbZJBxvnshsTtpuDi1VfU+rUAeKLw2RvjnnWKZ68Xwg@mail.gmail.com> <CAGfacvTVdpEkn+7ep=z=zk+ck=X_6XYKn1A5BeqWmgi0rGv7tQ@mail.gmail.com>
Hi Umesh,
On Thu, May 16, 2019 at 06:12:48PM +0530, Umesh Kalappa wrote:
> We are very new to Power abi and we are thinking to handle this case
> in loader like go through the relocations like R_PPC64_REL24 and
> found symbol has the localentry ,then compute the delta (GEP - LEP )
> and patch the caller address like (sym.value - delta).
I wonder if you have found a bug in the compiler after all. Most things
are supposed to work without the linker/loader having to do special
things; e.g. using the global entry point should always work, using the
local entry point is just an optimisation.
Please open a PR so we can investigate?
Segher