Commit graph

53 commits

Author SHA1 Message Date
Nick Clifton
c280609300 Jim fixed the fixups for conditional and unconditional branches.
Added code to support the bss and common sections in thr ZDA and SDA areas.
1997-10-11 00:55:57 +00:00
Nick Clifton
8f3c5ddbde Removed v850eq sanitization.
Added Things-to-loose entries for unspecifed/empty directories.
1997-09-21 00:19:41 +00:00
Nick Clifton
03c41a1cf3 Remove use of sanitization to select target CPU. This is now done based
on the contents of the configuration string TARGET_CPU.
1997-09-20 22:46:30 +00:00
Nick Clifton
46ad7d6ccb Reset processor mask if specified by command line switch 1997-09-19 00:43:54 +00:00
Nick Clifton
2b36e4c294 Oops - fixed typos in previous delta. 1997-09-18 23:15:05 +00:00
Nick Clifton
6df3c45f79 Proced error messages when special data are relocations are used on
instructions which do not support them.
1997-09-18 22:16:18 +00:00
Nick Clifton
920b87c437 Added code to cope with a constant offset to a ZDA relocation. 1997-09-18 21:09:14 +00:00
Nick Clifton
00fd8294ca Corrected spelling mistake! 1997-09-18 00:43:19 +00:00
Nick Clifton
936a8f5549 Added support for ctoff() reloc prefix. 1997-09-17 23:55:26 +00:00
Nick Clifton
752851788a Add support for a 16 bit relocation against the TDA register! 1997-09-16 21:16:15 +00:00
Nick Clifton
d30a2be45d Added checking of instructions against target cpu. 1997-09-16 01:34:03 +00:00
Nick Clifton
210c24d6d1 Fixed sanitization 1997-09-10 21:00:03 +00:00
Nick Clifton
9153e64334 Add new holio() reloc prefix. 1997-09-09 23:12:59 +00:00
Nick Clifton
1ffec08198 Add new pseudo ops: .v850, .v850e and .v850eq to specify the target processor. 1997-09-09 17:18:42 +00:00
Nick Clifton
b0b262f797 Only test for immediaqte overflow if there is no insertion function. 1997-09-08 23:17:55 +00:00
Nick Clifton
8816811b85 Add command line option to specify processor type. 1997-09-08 22:03:09 +00:00
Nick Clifton
1fd5f4fc62 Added -mwarn_unsigned_overflow so that defuault is to treat unsigned
values as signed values if they start to overflow.
1997-09-08 19:32:05 +00:00
Nick Clifton
2d27848430 Removed the BFD_RELOC_V850_16_PCREL. 1997-09-03 18:19:50 +00:00
Nick Clifton
ccf107185d Support for new relocations added. Support for SDA/TDA/ZDA sections added. 1997-09-02 23:01:27 +00:00
Andrew Cagney
28e1e54d13 * config/tc-v850.c (md_assemble): Use opcode->name instead of
opcode->opcode as the sentinal. Zero is a valid opcode.
1997-09-02 05:50:40 +00:00
Nick Clifton
b688e04e29 Set machine architecture and type. 1997-08-25 23:03:24 +00:00
Nick Clifton
cf735d2a93 Support constant expressions as register lists. 1997-08-25 18:21:02 +00:00
Nick Clifton
2b3e0f9e1e Switch from C++ style comment to C style. 1997-08-25 16:41:18 +00:00
Nick Clifton
5f04449977 Add support for curly brace register list syntax. 1997-08-22 17:44:55 +00:00
Nick Clifton
f483cb11c8 Fixed v850_section to cope with original section styles as well. 1997-08-21 21:43:44 +00:00
Nick Clifton
19f40fdca7 Added support for NEC style assembler pseudo ops:
.section "name", <type>
	.offset <expression>
	.bss
1997-08-21 17:54:49 +00:00
Nick Clifton
a365cd79ee Add support for v850e and v850eq targets.
Add support for BFD_RELOC_V850_16_PCREL.
1997-08-18 18:26:42 +00:00
Nick Clifton
035d8553d7 Fixed typo in previous delta and added more sanitization. 1997-08-14 19:55:03 +00:00
Jeff Law
15d8ae9d85 * config/tc-v850.c (md_assemble): Sign extend constants value
for hi and hi0 expressions.
        (v850_insert_operand): Enable range checking for generic 16bit
        operands.
finish work for pr12944.
1997-07-31 21:11:17 +00:00
Jeff Law
d222309aef * config/tc-v850.c (md_assemble): Turn on fx_no_overflow for
LO16, HI16 and HI16_S relocs.
pr12979
1997-07-29 20:19:02 +00:00
Jeff Law
47bfb6fce3 * config/tc-v850.c (system_registers): Fix ordering of registers.
pr12913 (c/h from nec).
1997-07-21 14:54:49 +00:00
Jeff Law
2385d90a81 * config/tc-v850.c (md_convert_frag): Make sure we insert the
fixup at the right address within the frag.
1996-10-29 20:07:13 +00:00
Jeff Law
bc49fab8ea * config/tc-v850.c (md_convert_frag): Don't set fragP->fr_fix
to an absolute value, instead increment it as needed.
1996-10-29 19:48:18 +00:00
Jeff Law
a334533c1b * config/tc-v850.h (TC_GENERIC_RELAX_TABLE): Define.
* config/tc-v850.c: Fix some indention problems.
        (md_relax_table): Define for D9->D99 branch displacement
        relaxing.
        (md_convert_frag): Do something useful instead of aborting.
        (md_estimate_size_before_relax): Likewise.
        (md_assemble): Note if the matching instruction has a relaxable
        operand.  If it does, allocate frag with frag_var and don't
        do any fixups.
So we can do 9bit displacement to 22bit displacement relaxing.
1996-10-29 19:32:56 +00:00
Jeff Law
d3bbd9dc3e * config/tc-v850.c (v850_reloc_prefix): Several disgusting
hacks to improve parsing of complex hi, lo, zda, etc
        expressions.
        (md_assemble): Don't demand and eat a trailing ')' after finding
        a v850 relocation prefix.  Sign extend the constant in a
        BFD_RELOC_LO16 expression.  Do eat a trailing ')' after a complete
        operand.
        (parse_cons_expression_v850): Don't eat a trailing ')' after
        finding a v850 relocation prefix.
Trying to get nec's sample code to assemble.  Why oh why didn't JT try
to assemble any of their code...
1996-10-25 01:14:34 +00:00
Jeff Law
10fba7f14e * config/tc-v850.h (TC_PARSE_CONS_EXPRESSION): Define.
(TC_CONS_FIX_NEW): Likewise.
        * config/tc-v850.c (parse_cons_expression_v850): New function.
        (cons_fix_new_v850): Likewise.
So we can handle ".hword lo(_foo)".
1996-10-24 22:55:22 +00:00
Jeff Law
7e96935e77 * config/tc-v850.c (md_pseudo_table): Add .word; allocates
4 bytes of space.
Something off the todo list.
1996-10-23 22:23:38 +00:00
Jeff Law
8ea15b863f * config/tc-v850.c (md_assemble): Handle TDAOFF relocs
differently for movea & sst/sld insns.
Working on tda for the v850.
1996-10-23 04:06:04 +00:00
Jeff Law
548ddc7174 * config/tc-v850.c (v850_reloc_prefix): Recognize zdaoff, tdaoff
and sdaoff expressions.
1996-10-17 04:48:07 +00:00
Jeff Law
0f8e50bb76 * write.c (fixup_segment): Don't add symbol value to addend if
TC_V850 and OBJ_ELF.
        * config/tc-v850.h (tc_fix_adjustable): Don't adjust any
        pc-relative fixups.
Fixing more failures in the g++ testsuite.
1996-10-16 17:32:39 +00:00
Jeff Law
f964b01d90 * config/tc-v850.c (md_pcrel_from): Delete unused function.
(md_pcrel_from_section): New function.
        * config/tc-v850.h (MD_PCREL_FROM_SECTION): Define.
So we don't screw up pc-relative jumps/calls from one section
into another section within the same .o file.

Fixes global ctors/dtors to work with DECL_ONE_ONLY stuff.
1996-10-16 06:21:23 +00:00
Jeff Law
2d56269edf * config/tc-v850.c (md_apply_fix3): Do simple byte, short and
word fixups too.
Fixes "difference between forward references".
1996-08-31 18:36:19 +00:00
Jeff Law
74dd0c0786 * config/tc-v850.c (md_apply_fix3): Use little endian get/put
routines to fetch/store the updated instruction from/to memory.
        (v850_insert_operand): If the operand has a specialized insert
        routine, call it.
Getting fixups closer.  At least br <target> works now.
1996-08-31 05:52:38 +00:00
J.T. Conklin
c84615bc23 * config/tc-v850.c (reg_name_search): Align calling convention to
be like identical function found in tc-ppc.c.
(get_reloc): Removed.
(v850_reloc_prefix): New function, parse lo(), hi() and hi0().
(md_assemble): emit fixups.
(md_pcrel_from): renamed from md_pcrel_from_section, emit proper
displacement.
(md_apply_fix3): handle fixups/relocs.
* config/tc-v850.h (MD_PCREL_FROM_SECTION): Removed definition.
1996-08-31 01:42:46 +00:00
Jeff Law
05631de266 * config/tc-850.c (md_assemble): Handle hi() correctly. Handle
hi0() too.
Bugfix.
1996-08-30 06:44:44 +00:00
Jeff Law
88b47a8521 * config/tc-v850.c (md_assemble): Rough cut at demanding
"ep" or "r30" in sst and sld instructions.
        (md_apply_fix3): Don't abort.  Just warn that we don't
        have relocs yet.
1996-08-23 20:58:13 +00:00
Jeff Law
c9f1b2d9c7 * config/tc-v850.c (CC_NAME_CNT): Define.
(cc_name): New function.
        (md_assemble): Handle V850_OPERAND_CC correctly.
setf stuff
1996-08-23 19:01:37 +00:00
Jeff Law
d5974c571c * config/tc-v850.c (md_assemble): Don't forget to initialize
"insn"!
1996-08-23 18:19:08 +00:00
Jeff Law
0e8f9bd15e * config/tc-v850.c (reg_name_search): Generalize to search
any given register table.
        (register_name): Pass appropriate table and size to reg_name_search.
        (system_register_name): New function.
        (SYSREG_NAME_CNT): Define.
        (md_assemble): Handle operands which are system registers.
Still working on the parser..
1996-08-23 17:39:43 +00:00
Jeff Law
c9a32d6ca7 * config/tc-v850.c (md_assemble): If we find a register, but the
opcode doesn't want a register, then we don't have a match.
        (md_assemble): Get size of the instruction from the opcode table.
So we choose the right opcode and so that we get the sizes right.
1996-08-23 16:43:23 +00:00