2012-11-09 Nick Clifton <nickc@redhat.com>
[deliverable/binutils-gdb.git] / gas / config / tc-v850.h
CommitLineData
252b5132 1/* tc-v850.h -- Header file for tc-v850.c.
de863c74 2 Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2012
29589b0c 3 Free Software Foundation, Inc.
252b5132
RH
4
5 This file is part of GAS, the GNU Assembler.
6
7 GAS is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
ec2655a6 9 the Free Software Foundation; either version 3, or (at your option)
252b5132
RH
10 any later version.
11
12 GAS is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GAS; see the file COPYING. If not, write to the Free
4b4da160
NC
19 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
20 02110-1301, USA. */
252b5132
RH
21
22#define TC_V850
23
29589b0c 24#include "elf/v850.h"
252b5132
RH
25
26#define TARGET_BYTES_BIG_ENDIAN 0
27
252b5132 28/* The target BFD architecture. */
de863c74
NC
29#define TARGET_ARCH v850_target_arch
30extern int v850_target_arch;
252b5132
RH
31
32/* The target BFD format. */
de863c74
NC
33#define TARGET_FORMAT v850_target_format
34extern const char * v850_target_format;
252b5132 35
252b5132
RH
36#define md_operand(x)
37
a161fe53 38#define tc_fix_adjustable(FIX) v850_fix_adjustable (FIX)
ea1562b3 39extern bfd_boolean v850_fix_adjustable (struct fix *);
5d430f8b 40
a161fe53 41#define TC_FORCE_RELOCATION(FIX) v850_force_relocation(FIX)
ea1562b3 42extern int v850_force_relocation (struct fix *);
8f36cd18
AO
43
44#ifdef OBJ_ELF
55cf6793 45/* Values passed to md_apply_fix don't include the symbol value. */
a161fe53 46#define MD_APPLY_SYM_VALUE(FIX) 0
8f36cd18 47#endif
02198638 48
252b5132
RH
49/* Permit temporary numeric labels. */
50#define LOCAL_LABELS_FB 1
51
5d430f8b 52#define DIFF_EXPR_OK /* foo-. gets turned into PC relative relocs. */
252b5132
RH
53
54/* We don't need to handle .word strangely. */
55#define WORKING_DOT_WORD
56
57#define md_number_to_chars number_to_chars_littleendian
81d4177b 58
252b5132
RH
59/* We need to handle lo(), hi(), etc etc in .hword, .word, etc
60 directives, so we have to parse "cons" expressions ourselves. */
61#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) parse_cons_expression_v850 (EXP)
ea1562b3 62extern void parse_cons_expression_v850 (expressionS *);
5d430f8b 63
252b5132 64#define TC_CONS_FIX_NEW cons_fix_new_v850
ea1562b3 65extern void cons_fix_new_v850 (fragS *, int, int, expressionS *);
5d430f8b 66
252b5132 67#define TC_GENERIC_RELAX_TABLE md_relax_table
5d430f8b 68extern const struct relax_type md_relax_table[];
252b5132 69
86aba9db
NC
70/* When relaxing, we need to generate
71 relocations for alignment directives. */
72#define HANDLE_ALIGN(frag) v850_handle_align (frag)
ea1562b3 73extern void v850_handle_align (fragS *);
86aba9db 74
56d0a8a1
NC
75/* We need space in a frag's fixed size to allow for alignment when relaxing. */
76#define TC_FX_SIZE_SLACK(FIX) 2
77
a161fe53 78#define MD_PCREL_FROM_SECTION(FIX, SEC) v850_pcrel_from_section (FIX, SEC)
ea1562b3 79extern long v850_pcrel_from_section (struct fix *, asection *);
a8761a19 80
a8761a19 81#define DWARF2_LINE_MIN_INSN_LENGTH 2
2d034539
NC
82
83/* We need to record the operand involved when a pseudo-reloc is
84 processed so that the resulting value can be inserted correctly. */
85#define TC_FIX_TYPE void *
86#define TC_INIT_FIX_DATA(fixP) (fixP)->tc_fix_data = NULL
This page took 0.554879 seconds and 4 git commands to generate.