aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-csky.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/tc-csky.c')
-rw-r--r--gas/config/tc-csky.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gas/config/tc-csky.c b/gas/config/tc-csky.c
index 1c4b44b..3ef9860 100644
--- a/gas/config/tc-csky.c
+++ b/gas/config/tc-csky.c
@@ -29,7 +29,6 @@
#include "subsegs.h"
#include "obstack.h"
#include "libiberty.h"
-#include "struc-symbol.h"
#ifdef OBJ_ELF
#include "elf/csky.h"
@@ -6783,8 +6782,9 @@ v2_work_movih (void)
|| (csky_insn.e1.X_op == O_symbol && insn_reloc != BFD_RELOC_NONE))
{
if (csky_insn.e1.X_op_symbol != 0
- && csky_insn.e1.X_op_symbol->sy_value.X_op == O_constant
- && 16 == csky_insn.e1.X_op_symbol->sy_value.X_add_number)
+ && symbol_constant_p (csky_insn.e1.X_op_symbol)
+ && S_GET_SEGMENT (csky_insn.e1.X_op_symbol) == absolute_section
+ && 16 == S_GET_VALUE (csky_insn.e1.X_op_symbol))
{
csky_insn.e1.X_op = O_symbol;
if (insn_reloc == BFD_RELOC_CKCORE_GOT32)
@@ -6833,8 +6833,9 @@ v2_work_ori (void)
}
else if (csky_insn.e1.X_op == O_bit_and)
{
- if (csky_insn.e1.X_op_symbol->sy_value.X_op == O_constant
- && 0xffff == csky_insn.e1.X_op_symbol->sy_value.X_add_number)
+ if (symbol_constant_p (csky_insn.e1.X_op_symbol)
+ && S_GET_SEGMENT (csky_insn.e1.X_op_symbol) == absolute_section
+ && 0xffff == S_GET_VALUE (csky_insn.e1.X_op_symbol))
{
csky_insn.e1.X_op = O_symbol;
if (insn_reloc == BFD_RELOC_CKCORE_GOT32)