.S files have to be recoded to match the memory model! Yinghai Lu <[email protected]> wrote:
>On Sat, Nov 17, 2012 at 9:35 PM, Yinghai Lu <[email protected]> wrote: >> On Sat, Nov 17, 2012 at 9:20 PM, Eric W. Biederman >> <[email protected]> wrote: >>> Yinghai Lu <[email protected]> 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@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. _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
