[PATCH 1/1] s390: handle R_390_PLT32DBL reloc entries in machine_apply_elf_rel()
Heiko Carstens
hca at linux.ibm.com
Wed Dec 15 09:48:17 PST 2021
On Wed, Dec 15, 2021 at 01:43:00PM +0100, Simon Horman wrote:
> On Mon, Dec 13, 2021 at 11:44:30AM +0100, Philipp Rudo wrote:
> > Hi Alexander,
> >
> > @Alexander: Thanks for taking care of this.
> >
> > On Wed, 8 Dec 2021 13:53:55 +0100
> > Alexander Egorenkov <egorenar at linux.ibm.com> wrote:
> >
> > > Starting with gcc 11.3, the C compiler will generate PLT-relative function
> > > calls even if they are local and do not require it. Later on during linking,
> > > the linker will replace all PLT-relative calls to local functions with
> > > PC-relative ones. Unfortunately, the purgatory code of kexec/kdump is
> > > not being linked as a regular executable or shared library would have been,
> > > and therefore, all PLT-relative addresses remain in the generated purgatory
> > > object code unresolved. This leads to the situation where the purgatory
> > > code is being executed during kdump with all PLT-relative addresses
> > > unresolved. And this results in endless loops within the purgatory code.
> >
> > Tiny nit. The last two sentences describe the situation in the kernel.
> > Luckily the kexec-tools do proper error checking and die with
> >
> > "Unknown rela relocation: 0x14 0x73c0901c"
> >
> > when they encounter an unknown relocation type.
> >
> > Anyway, the code is correct
> >
> > Reviewed-by: Philipp Rudo <prudo at redhat.com>
>
> Thanks.
>
> Alexander would you care to post a v2 with an updated patch description?
Given that Alexander is currently not available, I will resend his
patch with an updated commit message.
More information about the kexec
mailing list