1 /*-This file is tc-pj.h
3 Copyright (C) 1999 Free Software Foundation, Inc.
5 Contributed by Steve Chamberlain of Transmeta, sac@pobox.com
7 This file is part of GAS, the GNU Assembler.
9 GAS is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
14 GAS is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with GAS; see the file COPYING. If not, write to
21 the Free Software Foundation, 59 Temple Place - Suite 330,
22 Boston, MA 02111-1307, USA. */
25 /* Contributed by Steve Chamberlain, of Transmeta. sac@pobox.com. */
27 #define WORKING_DOT_WORD
28 #define IGNORE_NONSTANDARD_ESCAPES
29 #define TARGET_ARCH bfd_arch_pj
30 #define TARGET_FORMAT (target_big_endian ? "elf32-pj" : "elf32-pjl")
31 #define LISTING_HEADER \
33 ? "Pico Java GAS Big Endian" \
34 : "Pico Java GAS Little Endian")
37 void pj_cons_fix_new_pj
PARAMS ((struct frag
*, int, int, expressionS
*));
38 arelent
*tc_gen_reloc
PARAMS((asection
*section
, struct fix
*fixp
));
40 #define md_section_align(SEGMENT, SIZE) (SIZE)
41 #define md_convert_frag(B, S, F) (as_fatal (_("convert_frag\n")), 0)
42 #define md_estimate_size_before_relax(A, B) (as_fatal (_("estimate size\n")),0)
43 #define md_undefined_symbol(NAME) 0
45 /* PC relative operands are relative to the start of the opcode, and the operand
46 is always one byte into the opcode. */
48 #define md_pcrel_from(FIXP) \
49 ((FIXP)->fx_where + (FIXP)->fx_frag->fr_address - 1)
52 #define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP) \
53 pj_cons_fix_new_pj(FRAG, WHERE, NBYTES, EXP)
55 /* Always leave vtable relocs untouched in the output. */
56 #define TC_FORCE_RELOCATION(FIX) \
57 ((FIX)->fx_r_type == BFD_RELOC_VTABLE_INHERIT \
58 || (FIX)->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
60 #define obj_fix_adjustable(FIX) \
61 (! ((FIX)->fx_r_type == BFD_RELOC_VTABLE_INHERIT \
62 || (FIX)->fx_r_type == BFD_RELOC_VTABLE_ENTRY))