bfin: allow ".=.+delta"

Alan Modra amodra@gmail.com
Fri Apr 17 03:17:01 GMT 2020


BFIN has lots of instructions that contain "=", so "sym = expression"
is disabled for that target.  This makes an exception for assignment
to dot, fixing the recent regression of ld-scripts/pr18963.

	* config/tc-bfin.h (TC_EQUAL_IN_INSN): Allow assignment to dot.

diff --git a/gas/config/tc-bfin.h b/gas/config/tc-bfin.h
index b9bc06bd73..ac54b3f67f 100644
--- a/gas/config/tc-bfin.h
+++ b/gas/config/tc-bfin.h
@@ -50,7 +50,7 @@ extern bfd_boolean bfin_start_label (char *);
 extern bfd_boolean bfin_eol_in_insn (char *);
 
 /* Almost all instructions of Blackfin contain an = character.  */
-#define TC_EQUAL_IN_INSN(C, NAME) 1
+#define TC_EQUAL_IN_INSN(C, NAME) (NAME[0] != '.' || NAME[1] != 0)
 
 #define NOP_OPCODE 0x0000
 

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list