On 30/09/2019 19:44, Julien Grall wrote:
> GAS 2.25.0 throws multiple errors when building arm32/head.S:
>
> arm32/head.S: Assembler messages:
> arm32/head.S:452: Error: invalid constant (f7f) after fixup
> arm32/head.S:453: Error: invalid constant (f7f) after fixup
> arm32/head.S:495: Error: invalid constant (f7f) after fixup
> arm32/head.S:510: Error: invalid constant (f7f) after fixup
> arm32/head.S:514: Error: invalid constant (f7f) after fixup
> arm32/head.S:516: Error: invalid constant (f7f) after fixup
> arm32/head.S:633: Error: invalid constant (f7f) after fixup
>
> This makes sense because the instruction mov is only able to deal with a
> specific set of immediate (see "modified immediate constants in ARM
> instructions"). For any 16-bit immediate, the instruction movw should be
> used.
>
> It looks like newer version of GAS will seemly switch to movw if the
> immediate does not fit in the immediate encoding for mov. But we should
> not rely on this. So switch to movw.
>
> Fixes: 23dfe48d10 ("xen/arm32: head: Introduce macros to create table and 
> mapping entry")
> Reported-by: Andrew Cooper <andrew.coop...@citrix.com>
> Signed-off-by: Julien Grall <julien.gr...@arm.com>

FWIW, Tested-by: Andrew Cooper <andrew.coop...@citrix.com>, only insofar
as it fixing the build.  I haven't booted the resulting binary.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to