[PATCH 3/8] add mem64_min/max control

H. Peter Anvin hpa at zytor.com
Sun Nov 18 01:24:14 EST 2012

.S files have to be recoded to match the memory model!

Yinghai Lu <yinghai at kernel.org> wrote:

>On Sat, Nov 17, 2012 at 9:35 PM, Yinghai Lu <yinghai at kernel.org> wrote:
>> On Sat, Nov 17, 2012 at 9:20 PM, Eric W. Biederman
>> <ebiederm at xmission.com> wrote:
>>> Yinghai Lu <yinghai at kernel.org> writes:
>>>> there is lots of R_X86_64_32 and R_X86_64_32S for 64bit purgatory.
>>>> those come from global variables...could kill some by converting
>them static...
>>>> but still have some global string or ro data....
>>>> build one big file include all .S ?
>>> For R_x86_64_32 and R_x86_64_32S the problem is that the
>>> are using absolute 32bit addresses.
>>> It is probably overkill but we should be able to solve this with
>>> by adding "-mcmodel=large" to the build of purgatory.
>> it kill some...
>> still have left.... looks they from .S
>> yhlu at linux-siqj:~/xx/xx/utils/kexec-tools> readelf --relocs
>> purgatory/purgatory.ro | grep R_X86_64_32
>> 0000000005e9  00020000000b R_X86_64_32S      0000000000000000 .rodata
>+ c0
>looks like .S did not get that -mcmodel=large applied..

Sent from my mobile phone. Please excuse brevity and lack of formatting.

More information about the kexec mailing list