[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