bfin: allow ".=.+delta"
authorAlan Modra <amodra@gmail.com>
Fri, 17 Apr 2020 03:08:19 +0000 (12:38 +0930)
committerAlan Modra <amodra@gmail.com>
Fri, 17 Apr 2020 03:15:23 +0000 (12:45 +0930)
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.

gas/ChangeLog
gas/config/tc-bfin.h

index e0c51ebcc5a054e3d083797e514da35ecac24eed..345c1121edac1853fc8a64a25bac95846fad03d0 100644 (file)
@@ -1,3 +1,7 @@
+2020-04-17  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-bfin.h (TC_EQUAL_IN_INSN): Allow assignment to dot.
+
 2020-04-16  Gagan Singh Sidhu  <broly@mac.com>
            Nick Clifton  <nickc@redhat.com>
 
index b9bc06bd7324128c8c43a54445d8f3cf4006ee2e..ac54b3f67f69bc8ca251ac3ea59d6c0ceee86f4b 100644 (file)
@@ -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