1991-04-05 02:19:53 +08:00
|
|
|
/* tc-a29k.h -- Assemble for the AMD 29000.
|
1992-02-23 04:45:24 +08:00
|
|
|
Copyright (C) 1989, 1990, 1991 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
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, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|
|
|
|
1991-04-05 02:19:53 +08:00
|
|
|
#define TC_A29K
|
|
|
|
|
1992-11-24 04:42:33 +08:00
|
|
|
#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 */
|
1992-02-17 23:54:49 +08:00
|
|
|
|
1991-08-07 16:00:01 +09:00
|
|
|
#define AOUT_MACHTYPE 101
|
1991-11-29 09:05:58 +08:00
|
|
|
#define TC_COFF_FIX2RTYPE(fix_ptr) tc_coff_fix2rtype(fix_ptr)
|
|
|
|
#define BFD_ARCH bfd_arch_a29k
|
|
|
|
#define COFF_MAGIC SIPFBOMAGIC
|
1992-11-24 04:42:33 +08:00
|
|
|
/* Should the reloc be output ?
|
1992-02-23 04:45:24 +08:00
|
|
|
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
|
|
|
|
*/
|
1991-11-29 09:05:58 +08:00
|
|
|
#define TC_COUNT_RELOC(x) (x->fx_addsy)
|
1991-04-05 02:19:53 +08:00
|
|
|
/* end of tc-a29k.h */
|
1992-02-23 04:45:24 +08:00
|
|
|
|
|
|
|
#define COFF_FLAGS F_AR32W
|
|
|
|
#define reloc_type int
|
1992-12-04 07:50:45 +08:00
|
|
|
#define NEED_FX_R_TYPE
|
Sat Dec 12 15:26:34 1992 Ian Lance Taylor (ian@cygnus.com)
* listing.c: Call xmalloc, not malloc; don't declare malloc.
* Changes to support SCO 3.2v4:
* read.c (s_align_bytes, s_align_ptwo): If not SEG_DATA or
SEG_BSS, fill with NOP_OPCODE.
* config/i386coff.mt: Add opcode/i386.h to TARG_CPU_DEPENDENTS.
* config/obj-coffbfd.c (do_relocs_for): Increment addr even if not
using ZERO_BASED_SEGMENTS.
(fill_section): If ZERO_BASED_SEGMENTS, set segment addresses, but
never set segment address for SEG_E2 (.bss) and don't write out
SEG_E2 contents. Set .init and .fini sections to STYP_TEXT.
(obj_coff_endef): Don't merge labels or symbols awaiting forward
definitions, and don't merge tags with non-tags. Check for .bf
rather than just checking whether the second character is b and
the third character is f.
(obj_coff_val): gcc can generate values which we don't handle
correctly; discard information for now, since it only affects the
debugging information.
(tag_find_or_name): Don't insert tags in the symbol table.
(yank_symbols): Don't merge labels.
(write_object_file): Don't define SUB_SEGMENT_ALIGN if it is
already defined. Fill subsegments with NOP_OPCODE, not 0. Don't
set segment address if ZERO_BASED_SEGMENTS.
(obj_coff_section): Accept and ignore a trailing quoted string, as
used in AT&T i386 syntax.
(fixup_segment): Take segment as argument. On the i386, adjust PC
relative addends by the segment vaddr.
* tc-i386.h: Define SUB_SEGMENT_ALIGN.
* tc-a29k.h: Define ZERO_BASED_SEGMENTS.
* tc-i386.c: (i386_operand): If I386COFF, accept any segment type.
1992-12-13 08:56:14 +08:00
|
|
|
|
|
|
|
#define ZERO_BASED_SEGMENTS
|