1
/* tc-score.h -- Score specific file for assembler
2
Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
4
Brain.lin (brain.lin@sunplusct.com)
5
Mei Ligang (ligang@sunnorth.com.cn)
6
Pei-Lin Tsai (pltsai@sunplus.com)
8
This file is part of GAS, the GNU Assembler.
10
GAS is free software; you can redistribute it and/or modify
11
it under the terms of the GNU General Public License as published by
12
the Free Software Foundation; either version 3, or (at your option)
15
GAS is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
GNU General Public License for more details.
20
You should have received a copy of the GNU General Public License
21
along with GAS; see the file COPYING. If not, write to the Free
22
Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
23
MA 02110-1301, USA. */
28
#define TARGET_ARCH bfd_arch_score
29
#define WORKING_DOT_WORD
31
#define RELOC_EXPANSION_POSSIBLE
32
#define MAX_RELOC_EXPANSION 2
33
#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4)
35
#define md_undefined_symbol(name) NULL
37
#define TARGET_FORMAT (target_big_endian ? "elf32-bigscore" : "elf32-littlescore")
39
#define md_relax_frag(segment, fragp, stretch) score_relax_frag (segment, fragp, stretch)
40
extern int score_relax_frag (asection *, struct frag *, long);
42
/* #define md_frag_check(fragp) score_frag_check (fragp) */
43
extern void score_frag_check (fragS *);
45
#define TC_VALIDATE_FIX(FIXP, SEGTYPE, SKIP) score_validate_fix (FIXP)
46
extern void score_validate_fix (struct fix *);
48
#define TC_FORCE_RELOCATION(FIXP) score_force_relocation (FIXP)
49
extern int score_force_relocation (struct fix *);
51
#define tc_fix_adjustable(fixp) score_fix_adjustable (fixp)
52
extern bfd_boolean score_fix_adjustable (struct fix *);
54
#define elf_tc_final_processing score_elf_final_processing
55
extern void score_elf_final_processing (void);
57
struct score_tc_frag_data
63
#define TC_FRAG_TYPE struct score_tc_frag_data
65
#define TC_FRAG_INIT(FRAGP) \
68
(FRAGP)->tc_frag_data.is_insn = (((FRAGP)->fr_type == rs_machine_dependent) ? 1 : 0); \
73
#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_"
75
#define GLOBAL_OFFSET_TABLE_NAME "__GLOBAL_OFFSET_TABLE_"