On Tue, Jan 29, 2019 at 05:30:50PM -0800, Andrey Smirnov wrote: > > Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> > --- Applied, thanks Sascha > > Changes since [v1]: > > - Added a comment explaining the reasoning "a" specifier is > missing > > [v1] http://lists.infradead.org/pipermail/barebox/2019-January/036779.html > > arch/arm/lib64/runtime-offset.S | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/lib64/runtime-offset.S b/arch/arm/lib64/runtime-offset.S > index 177ca6478..6624fdfa1 100644 > --- a/arch/arm/lib64/runtime-offset.S > +++ b/arch/arm/lib64/runtime-offset.S > @@ -1,7 +1,19 @@ > #include <linux/linkage.h> > #include <asm/assembler.h> > > -.section ".text_bare_init","ax" > +/* > + * The .section directive below intentionally omits "a", since that > + * appears to be the simplest way to force assembler to not generate > + * R_AARCH64_RELATIVE relocation for > + * > + * linkadr: > + * .quad get_runtime_offset > + * > + * statement below. While having that relocating was relatively > + * harmless with GCC8, builging the code with GCC5 resulted in > + * "linkaddr" being initialized to 0 causing complete boot breakdown > + */ > +.section ".text_bare_init","x" > > /* > * Get the offset between the link address and the address > -- > 2.20.1 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox