On Tue, Aug 30, 2016 at 01:01:30PM +0100, Wei Liu wrote: > The cbz instruction has range limitation. When compiled with gcov > support the object is larger so cbz can't handle that anymore. The error > message is like: > > aarch64-linux-gnu-ld -EL -T xen.lds -N prelink.o \ > /local/work/xen.git/xen/common/symbols-dummy.o -o > /local/work/xen.git/xen/.xen-syms.0 > prelink.o: In function `launch': > /local/work/xen.git/xen/arch/arm/arm64/head.S:602:(.text+0x408): relocation > truncated to fit: R_AARCH64_CONDBR19 against symbol `start_xen' defined in > .init.text section in prelink.o > > Use "b" instead. > > Signed-off-by: Wei Liu <wei.l...@citrix.com> > --- > Compile test only.
Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> > > Cc: Stefano Stabellini <sstabell...@kernel.org> > Cc: Julien Grall <julien.gr...@arm.com> > --- > xen/arch/arm/arm64/head.S | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S > index 91e2817..3f63d2a 100644 > --- a/xen/arch/arm/arm64/head.S > +++ b/xen/arch/arm/arm64/head.S > @@ -599,7 +599,9 @@ launch: > mov x0, x20 /* Marshal args: - phys_offset */ > mov x1, x21 /* - FDT */ > mov x2, x24 /* - CPU ID */ > - cbz x22, start_xen /* and disappear into the land of C */ > + cbnz x22, 1f > + b start_xen /* and disappear into the land of C */ > +1: > b start_secondary /* (to the appropriate entry point) */ > > /* Fail-stop */ > -- > 2.1.4 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel