PATCH: Add access restriction check for application registers (was Re: Is this a gas bug?)

Jim Wilson wilson@specifixinc.com
Thu May 27 20:29:00 GMT 2004


On Wed, 2004-05-26 at 11:28, H. J. Lu wrote:
> 	* config/tc-ia64.c (ar_is_only_in_integer_unit): New.
> 	(ar_is_only_in_memory_unit): New.
> 	(generate_unwind_image): Silence gcc on 32bit host.
> 	(md_assemble): Check AR access.

Thanks.  This looks good.

The differences between ar_is_in_integer_unit and
ar_is_only_in_integer_unit do not look right though.  It appears to me
that ar_is_in_integer_unit is broken, as it should accept a strict
superset of the regs accepted by ar_is_only_in_integer_unit, but it does
not.  The difference is regs 67 to 111.  I think we need to modify
ar_is_in_integer_unit to accept them.

Otherwise, the assembler will take
	mov ar100 = r10
and assemble it into a mov.m instruction, which is wrong according to my
reading of the docs.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



More information about the Binutils mailing list