From 392ca752084a7ea99a345a7b19b9e7453f2ea6a2 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Tue, 29 Jan 2013 22:17:53 +0000 Subject: * config/tc-rl78.c (rl78_cons_fix_new): Handle user-specified relocs in .word/.etc statements. --- gas/config/tc-rl78.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gas/config') diff --git a/gas/config/tc-rl78.c b/gas/config/tc-rl78.c index 53d3df2f2b6..bd964dc1630 100644 --- a/gas/config/tc-rl78.c +++ b/gas/config/tc-rl78.c @@ -554,6 +554,23 @@ rl78_cons_fix_new (fragS * frag, return; } + switch (exp->X_md) + { + case BFD_RELOC_RL78_LO16: + case BFD_RELOC_RL78_HI16: + if (size != 2) + as_bad (_("%%hi16/%%lo16 only applies to .short or .hword")); + type = exp->X_md; + break; + case BFD_RELOC_RL78_HI8: + if (size != 1) + as_bad (_("%%hi8 only applies to .byte")); + type = exp->X_md; + break; + default: + break; + } + if (exp->X_op == O_subtract && exp->X_op_symbol) { if (size != 4 && size != 2 && size != 1) -- cgit v1.2.1