[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1703101556220.3681@nanos>
Date: Fri, 10 Mar 2017 15:58:20 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Vivek Goyal <vgoyal@...hat.com>
cc: Mike Galbraith <efault@....de>, Borislav Petkov <bp@...en8.de>,
"Tobin C. Harding" <me@...in.cc>,
LKML <linux-kernel@...r.kernel.org>,
Nicholas Mc Guire <der.herr@...r.at>, x86@...nel.org,
Dave Young <dyoung@...hat.com>, Baoquan He <bhe@...hat.com>
Subject: Re: kexec, x86/purgatory: Cleanup the unholy mess
On Fri, 10 Mar 2017, Vivek Goyal wrote:
> I think we probably will have to initialize these global variables in
> purgatory itself and that puts them in .data section and relocation
> works.
>
> That's how the code was intially. I initialized value of
> purgatory_sha256_digest in the code and then did "readelf -a purgatory.o"
> and symbol section index changed from COM to 3.
>
> 13: 0000000000000000 32 OBJECT GLOBAL DEFAULT 3
> purgatory_sha256_digest
>
> [ 3] .data PROGBITS 0000000000000000 00000120
> 0000000000000020 0000000000000000 WA 0 0 32
Yeah, and then instead of doing it proper you relied on compiler/link magic
which is unreliable, undocumented and uncomprehensible. But that's just
compatible to the rest of kexec. Works for me is never a good engineering
principle.
Thanks,
tglx
Powered by blists - more mailing lists