[PATCH 11/15] purgatory: Core purgatory functionality
H. Peter Anvin
hpa at zytor.com
Mon Aug 11 11:08:48 PDT 2014
On 08/11/2014 11:02 AM, Vivek Goyal wrote:
> Hi hpa,
> I took it because kexec-tools uses it and in one of the committs Eric
> gave following reasoning.
> On x86_64 use -mcmodel=large so that the code is built without
> any 32bit assumptions. -mcmodel=medium and -mcmodel=small
> result int code that has 32bit relocations against variables
> that can live anywhere in the address space
> We do want to load purgatory anywhere in the address space.
> But if there are other ways to achieve the same thing, I will do that
> So when you say "small PIC", I need to use -mcmodel=small and -fPIC?
Actually -fPIE is probably better than -fPIC.
-mcmodel=large is incompatible with all other code out there, which
means that even though it is supposed to work it will be poorly tested
at best. So even despite the gcc version issue, using the small PIC
model would be better.
More information about the kexec