ChangeLog rotatation and copyright year update
[deliverable/binutils-gdb.git] / gas / config / tc-m32c.h
CommitLineData
49f58d10 1/* tc-m32c.h -- Header file for tc-m32c.c.
b90efa5b 2 Copyright (C) 2004-2015 Free Software Foundation, Inc.
49f58d10
JB
3
4 This file is part of GAS, the GNU Assembler.
5
6 GAS is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
ec2655a6 8 the Free Software Foundation; either version 3, or (at your option)
49f58d10
JB
9 any later version.
10
11 GAS is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GAS; see the file COPYING. If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
20
21#define TC_M32C
22
49f58d10
JB
23#define LISTING_HEADER "M16C/M32C GAS "
24
25/* The target BFD architecture. */
26#define TARGET_ARCH bfd_arch_m32c
27
28#define TARGET_FORMAT "elf32-m32c"
29
b96282be 30#define TARGET_BYTES_BIG_ENDIAN 0
49f58d10
JB
31
32#define md_end m32c_md_end
33extern void m32c_md_end (void);
34
35#define md_start_line_hook m32c_start_line_hook
36extern void m32c_start_line_hook (void);
37
38/* call md_pcrel_from_section, not md_pcrel_from */
5a49b8ac 39long md_pcrel_from_section (struct fix *, segT);
49f58d10
JB
40#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC)
41
42/* Permit temporary numeric labels. */
43#define LOCAL_LABELS_FB 1
44
45#define DIFF_EXPR_OK /* .-foo gets turned into PC relative relocs */
46
47/* We don't need to handle .word strangely. */
48#define WORKING_DOT_WORD
49
6772dd07 50#define md_apply_fix m32c_apply_fix
5a49b8ac 51extern void m32c_apply_fix (struct fix *, valueT *, segT);
49f58d10
JB
52
53#define tc_fix_adjustable(fixP) m32c_fix_adjustable (fixP)
5a49b8ac 54extern bfd_boolean m32c_fix_adjustable (struct fix *);
49f58d10
JB
55
56/* When relaxing, we need to emit various relocs we otherwise wouldn't. */
57#define TC_FORCE_RELOCATION(fix) m32c_force_relocation (fix)
5a49b8ac 58extern int m32c_force_relocation (struct fix *);
49f58d10 59
62ebcb5c
AM
60#define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP, RELOC) \
61 m32c_cons_fix_new (FRAG, WHERE, NBYTES, EXP, RELOC)
62extern void m32c_cons_fix_new (fragS *, int, int, expressionS *,
63 bfd_reloc_code_real_type);
e110eeb7 64
49f58d10
JB
65extern const struct relax_type md_relax_table[];
66#define TC_GENERIC_RELAX_TABLE md_relax_table
67
5a49b8ac 68extern void m32c_prepare_relax_scan (fragS *, offsetT *, relax_substateT);
49f58d10
JB
69#define md_prepare_relax_scan(FRAGP, ADDR, AIM, STATE, TYPE) \
70 m32c_prepare_relax_scan(FRAGP, &AIM, STATE)
71
72/* Values passed to md_apply_fix don't include the symbol value. */
73#define MD_APPLY_SYM_VALUE(FIX) 0
74
49f58d10
JB
75/* Call md_pcrel_from_section(), not md_pcrel_from(). */
76#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC)
5a49b8ac 77extern long md_pcrel_from_section (struct fix *, segT);
49f58d10
JB
78
79/* We need a special version of the TC_START_LABEL macro so that we
80 allow the :Z, :S, :Q and :G suffixes to be
5e8c8f8f 81 parsed as such. We need to be able to change the contents of
49f58d10 82 the local variable 'c' which is passed to this macro as 'character'. */
5e8c8f8f 83#define TC_START_LABEL(character, s, i_l_p) \
49f58d10 84 ((character) != ':' ? 0 : (character = m32c_is_colon_insn (s)) ? 0 : ((character = ':'), 1))
5a49b8ac 85extern char m32c_is_colon_insn (char *);
c54b5932
DD
86
87#define H_TICK_HEX 1
This page took 0.480768 seconds and 4 git commands to generate.