
On Sat, Oct 13, 2018 at 3:40 PM Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On x86_64 the field global_data_ptr is assigned before relocation. As sections for uninitialized global data (.bss) overlap with the relocation sections (.rela) this destroys the relocation table and leads to spurious errors.
Initialization forces the global_data_ptr into a section for initialized global data (.data) which cannot overlap any .rela section.
Fixes: a160092a610f ("x86: Support global_data on x86_64") Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
v2 Use .data instead of .text section
arch/x86/cpu/x86_64/cpu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com Tested-by: Bin Meng bmeng.cn@gmail.com