[binutils-gdb] bfin: allow ".=.+delta"

Alan Modra amodra@sourceware.org
Fri Apr 17 03:17:19 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=49af2f5c83b1eed1e9eeecb7a2bba49fc60c4d64

commit 49af2f5c83b1eed1e9eeecb7a2bba49fc60c4d64
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Apr 17 12:38:19 2020 +0930

    bfin: allow ".=.+delta"
    
    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:
---
 gas/ChangeLog        | 4 ++++
 gas/config/tc-bfin.h | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index e0c51ebcc5a..345c1121eda 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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>
 
diff --git a/gas/config/tc-bfin.h b/gas/config/tc-bfin.h
index b9bc06bd732..ac54b3f67f6 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


More information about the Binutils-cvs mailing list