aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2014-08-26 14:03:29 -0400
committerDJ Delorie <dj@redhat.com>2014-08-26 14:03:29 -0400
commit32e79d39201271dec352310d597dff430109c8cb (patch)
treebce009608171a8abe7716afa8411c56ac8834fb6
parent7f78eb340a4b3f46d842058cd26aad7ffa438c16 (diff)
downloadgdb-32e79d39201271dec352310d597dff430109c8cb.zip
gdb-32e79d39201271dec352310d597dff430109c8cb.tar.gz
gdb-32e79d39201271dec352310d597dff430109c8cb.tar.bz2
Disambiguate test for relaxation type.
* elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for relaxation type.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-rl78.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d94f590..9635195 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2014-08-26 DJ Delorie <dj@redhat.com>
+
+ * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for
+ relaxation type.
+
2014-08-26 Jiong Wang <jiong.wang@arm.com>
* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
diff --git a/bfd/elf32-rl78.c b/bfd/elf32-rl78.c
index 9124e0a..2a5ec99 100644
--- a/bfd/elf32-rl78.c
+++ b/bfd/elf32-rl78.c
@@ -2199,7 +2199,7 @@ rl78_elf_relax_section
61 F3 EF ad SKNH ; BR $rel8
*/
- if (irel->r_addend & RL78_RELAXA_BRA)
+ if ((irel->r_addend & RL78_RELAXA_MASK) == RL78_RELAXA_BRA)
{
/* SKIP opcodes that skip non-branches will have a relax tag
but no corresponding symbol to relax against; we just
@@ -2334,7 +2334,7 @@ rl78_elf_relax_section
}
- if (irel->r_addend & RL78_RELAXA_ADDR16)
+ if ((irel->r_addend & RL78_RELAXA_MASK) == RL78_RELAXA_ADDR16)
{
/*----------------------------------------------------------------------*/
/* Some insns have both a 16-bit address operand and an 8-bit