On Mon, Aug 11, 2014 at 11:08:48AM -0700, H. Peter Anvin wrote: > 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 > > change. > > > > 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. Ok, I will give it a try. Thanks Vivek