Re: [updated PATCH] xen: fix section usage in xen-head.S and setup.c

From: Jeremy Fitzhardinge
Date: Sat Jan 19 2008 - 17:24:53 EST


Sam Ravnborg wrote:
Failing to specify "ax" in the pushsection caused ld to generate
an additional section for .init.text appending a number.

Thanks for tracking this down. I think the "ax" appeared and disappeared over time, but this looks like the proper solution.

Are you going to submit this, or do you want me to pick it up?

A side effect of this was a section mismatch warning because modpost
did not recognize a .init.text section named .init.text.1:
WARNING: vmlinux.o(.text.head+0x247): Section mismatch: reference to .init.text.1:start_kernel (between 'is386' and 'check_x87')

Fix this by hardcoding the "ax" in the pushsection.
Thanks to Torlaf for reporting this.

Alan Modra provided the hint that made me able to
locate the root cause of this warning.
And Mike Frysinger told me how to properly fix it
using __INIT/__FINIT.

Fix following Section mismatch warning in addition:
WARNING: vmlinux.o(.text+0x14c8): Section mismatch: reference to .init.data:vsyscall_int80_start (between 'fiddle_vdso' and 'xen_setup_features')

fiddle_vdso was only used from a __init function - so declare it __init.

Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx>

Acked-by: Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx>

Thanks,
J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/