dubious use of O_subtract in gas/config/tc-ia64.c

Jan Beulich JBeulich@novell.com
Tue Feb 1 14:45:00 GMT 2005


Could anyone shed some light on the relevance of the two instances of
checks for O_subtract within operand_match(), cases IA64_OPND_IMMU64,
IA64_OPND_IMM14, and IA64_OPND_IMM22? I would suppose that because it is
explicitly getting special-cased there must be something I'm not seeing,
but to me it just seems to break things like

	.global esym
	.text
start:
	mov		r1 = esym-.
	movl		r1 = esym-.

which currently yields IMM22/IMM64 relocations (with strange addends)
instead of PCREL22/PCREL64I or at least a diagnostic.

Thanks, Jan



More information about the Binutils mailing list