summaryrefslogtreecommitdiff
path: root/gas/config/tc-or32.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-01-31 17:33:08 +0000
committerNick Clifton <nickc@redhat.com>2002-01-31 17:33:08 +0000
commit37f4530ea1a0c67e2a23f0f2a6ab3d4aba282bf9 (patch)
treefd7d4729eb53d675aac5ae376fd73e99e915b91f /gas/config/tc-or32.h
parent0b60af563a0c85486bf82d3ec30c460a8e333a26 (diff)
downloadbinutils-redhat-37f4530ea1a0c67e2a23f0f2a6ab3d4aba282bf9.tar.gz
Add support for OpenRISC 32-bit embedded processor
Diffstat (limited to 'gas/config/tc-or32.h')
-rw-r--r--gas/config/tc-or32.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/gas/config/tc-or32.h b/gas/config/tc-or32.h
new file mode 100644
index 0000000000..b78cf93848
--- /dev/null
+++ b/gas/config/tc-or32.h
@@ -0,0 +1,63 @@
+/* tc-or32.h -- Assemble for the OpenRISC 1000.
+ Copyright (C) 2002 Free Software Foundation, Inc.
+ Contributed by Damjan Lampret <lampret@opencores.org>.
+ Based upon a29k port.
+
+ This file is part of GAS, the GNU Assembler.
+
+ GAS is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GAS is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GAS; see the file COPYING. If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#define TC_OR32
+
+#define TARGET_BYTES_BIG_ENDIAN 1
+
+#define LEX_DOLLAR 1
+
+#ifdef OBJ_ELF
+#define TARGET_FORMAT "elf32-or32"
+#define TARGET_ARCH bfd_arch_or32
+#endif
+
+#ifdef OBJ_COFF
+#define TARGET_FORMAT "coff-or32-big"
+#define reloc_type int
+#endif
+
+#define tc_unrecognized_line(c) or32_unrecognized_line (c)
+
+extern int or32_unrecognized_line PARAMS ((int));
+
+#define tc_headers_hook(a) ; /* not used */
+#define tc_headers_hook(a) ; /* not used */
+#define tc_crawl_symbol_chain(a) ; /* not used */
+#define tc_coff_symbol_emit_hook(a) ; /* not used */
+
+#define AOUT_MACHTYPE 80
+#define TC_COFF_FIX2RTYPE(fix_ptr) tc_coff_fix2rtype (fix_ptr)
+#define BFD_ARCH bfd_arch_or32
+#define COFF_MAGIC SIPFBOMAGIC
+
+/* Should the reloc be output ?
+ on the 29k, this is true only if there is a symbol attatched.
+ on the h8, this is allways true, since no fixup is done. */
+#define TC_COUNT_RELOC(x) (x->fx_addsy)
+#define TC_CONS_RELOC RELOC_32
+
+#define COFF_FLAGS F_AR32W
+#define NEED_FX_R_TYPE
+
+#define ZERO_BASED_SEGMENTS
+