[PATCH 3/8] add mem64_min/max control

Yinghai Lu yinghai at kernel.org
Sun Nov 18 00:58:48 EST 2012


On Sat, Nov 17, 2012 at 9:39 PM, 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 instructions
>>> 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..

so -mcmodel=large only work with .c, but does not have effects on .S ?



More information about the kexec mailing list