[binutils-gdb] S12Z: Handle 16 bit fixups which are constant.

John Darrington jmd@sourceware.org
Tue Oct 23 14:13:00 GMT 2018


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

commit 405b61965ff7608840cfda36083c1be1f926ccdb
Author: John Darrington <john@darrington.wattle.id.au>
Date:   Tue Oct 23 15:33:18 2018 +0200

    S12Z:  Handle 16 bit fixups which are constant.
    
    Commit 1f38083f425e03faf55595414daf291306738222 added a test
    to check that the assembler handled fixups with resolved to
    constant values.  We were not handling this in the case of
    16 bit values.  This change fixes that.
    
    * gas/config/tc-s12z.c (md_apply_fix): Handle BFD_RELOC_16

Diff:
---
 gas/ChangeLog        | 5 +++++
 gas/config/tc-s12z.c | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index d5935b7..759186b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2018-10-23  John Darrington  <john@darrington.wattle.id.au>
+
+	* config/tc-s12z.c (md_apply_fix): Handle BFD_RELOC_16 for fixups
+	without a symbol.
+
 2018-10-22  Alan Modra  <amodra@gmail.com>
 
 	* testsuite/gas/all/simple-forward.d,
diff --git a/gas/config/tc-s12z.c b/gas/config/tc-s12z.c
index d3b2ea4..9df8643 100644
--- a/gas/config/tc-s12z.c
+++ b/gas/config/tc-s12z.c
@@ -3815,6 +3815,9 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
     case BFD_RELOC_8:
       ((bfd_byte *) where)[0] = (bfd_byte) value;
       break;
+    case BFD_RELOC_16:
+      bfd_putb16 ((bfd_vma) value, (unsigned char *) where);
+      break;
     case BFD_RELOC_24:
       bfd_putb24 ((bfd_vma) value, (unsigned char *) where);
       break;



More information about the Binutils-cvs mailing list