source: trunk/binutils/gas/config/tc-h8300.h@ 2562

Last change on this file since 2562 was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 3.0 KB
Line 
1/* This file is tc-h8300.h
2 Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
3 1997, 1998, 2000, 2002, 2003
4 Free Software Foundation, Inc.
5
6 This file is part of GAS, the GNU Assembler.
7
8 GAS is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
12
13 GAS is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GAS; see the file COPYING. If not, write to the Free
20 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
21 02111-1307, USA. */
22
23#define TC_H8300
24
25#define TARGET_BYTES_BIG_ENDIAN 1
26
27#define TARGET_ARCH bfd_arch_h8300
28
29#ifdef BFD_ASSEMBLER
30/* Fixup debug sections since we will never relax them. */
31#define TC_LINKRELAX_FIXUP(seg) (seg->flags & SEC_ALLOC)
32#endif
33#ifdef OBJ_ELF
34#define TARGET_FORMAT "elf32-h8300"
35#endif
36
37#if ANSI_PROTOTYPES
38struct fix;
39struct internal_reloc;
40#endif
41
42#define WORKING_DOT_WORD
43
44/* This macro translates between an internal fix and a coff reloc type. */
45#define TC_COFF_FIX2RTYPE(fixP) abort ();
46
47#define BFD_ARCH bfd_arch_h8300
48#define COFF_MAGIC ( Smode && Nmode ? 0x8304 : Hmode && Nmode ? 0x8303 : Smode ? 0x8302 : Hmode ? 0x8301 : 0x8300)
49#define TC_COUNT_RELOC(x) (1)
50#define IGNORE_NONSTANDARD_ESCAPES
51
52#define tc_coff_symbol_emit_hook(a) ; /* not used */
53#define TC_RELOC_MANGLE(s,a,b,c) tc_reloc_mangle(a,b,c)
54extern void tc_reloc_mangle
55 PARAMS ((struct fix *, struct internal_reloc *, bfd_vma));
56
57/* No shared lib support, so we don't need to ensure externally
58 visible symbols can be overridden. */
59#define EXTERN_FORCE_RELOC 0
60
61/* Minimum instruction is of 16 bits. */
62#define DWARF2_LINE_MIN_INSN_LENGTH 2
63
64#ifdef OBJ_ELF
65/* Provide mappings from the original H8 COFF relocation names to
66 their corresponding BFD relocation names. This allows us to use
67 most of tc-h8300.c without modifications for both ELF and COFF
68 ports. */
69#define R_MOV24B1 BFD_RELOC_H8_DIR24A8
70#define R_MOVL1 BFD_RELOC_H8_DIR32A16
71#define R_MOV24B1 BFD_RELOC_H8_DIR24A8
72#define R_MOVL1 BFD_RELOC_H8_DIR32A16
73#define R_RELLONG BFD_RELOC_32
74#define R_MOV16B1 BFD_RELOC_H8_DIR16A8
75#define R_RELWORD BFD_RELOC_16
76#define R_RELBYTE BFD_RELOC_8
77#define R_PCRWORD BFD_RELOC_16_PCREL
78#define R_PCRBYTE BFD_RELOC_8_PCREL
79#define R_JMPL1 BFD_RELOC_H8_DIR24R8
80#define R_MEM_INDIRECT BFD_RELOC_8
81
82/* We do not want to adjust any relocations to make implementation of
83 linker relaxations easier. */
84#define tc_fix_adjustable(FIX) 0
85#endif
86
87#define TC_CONS_RELOC (Hmode ? R_RELLONG: R_RELWORD)
88
89#define DO_NOT_STRIP 0
90#define LISTING_HEADER "Renesas H8/300 GAS "
91#define NEED_FX_R_TYPE 1
92#ifndef OBJ_ELF
93#define RELOC_32 1234
94#endif
95
96extern int Hmode;
97extern int Smode;
98extern int Nmode;
99
100#define md_operand(x)
Note: See TracBrowser for help on using the repository browser.