]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/config/tc-score.h
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / gas / config / tc-score.h
CommitLineData
1c0d3aa6 1/* tc-score.h -- Score specific file for assembler
fd67aa11 2 Copyright (C) 2006-2024 Free Software Foundation, Inc.
3739860c 3 Contributed by:
c3b7224a 4 Brain.lin (brain.lin@sunplusct.com)
1c0d3aa6
NC
5 Mei Ligang (ligang@sunnorth.com.cn)
6 Pei-Lin Tsai (pltsai@sunplus.com)
3739860c 7
1c0d3aa6
NC
8 This file is part of GAS, the GNU Assembler.
9
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
ec2655a6 12 the Free Software Foundation; either version 3, or (at your option)
1c0d3aa6
NC
13 any later version.
14
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.
19
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. */
24
25#ifndef TC_SCORE
26#define TC_SCORE
27
28#define TARGET_ARCH bfd_arch_score
29#define WORKING_DOT_WORD
30#define DIFF_EXPR_OK
31#define RELOC_EXPANSION_POSSIBLE
32#define MAX_RELOC_EXPANSION 2
33#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4)
34
35#define md_undefined_symbol(name) NULL
36
37#define TARGET_FORMAT (target_big_endian ? "elf32-bigscore" : "elf32-littlescore")
38
39#define md_relax_frag(segment, fragp, stretch) score_relax_frag (segment, fragp, stretch)
40extern int score_relax_frag (asection *, struct frag *, long);
41
c3b7224a 42/* #define md_frag_check(fragp) score_frag_check (fragp) */
1c0d3aa6
NC
43extern void score_frag_check (fragS *);
44
45#define TC_VALIDATE_FIX(FIXP, SEGTYPE, SKIP) score_validate_fix (FIXP)
46extern void score_validate_fix (struct fix *);
47
48#define TC_FORCE_RELOCATION(FIXP) score_force_relocation (FIXP)
49extern int score_force_relocation (struct fix *);
50
51#define tc_fix_adjustable(fixp) score_fix_adjustable (fixp)
5b7c81bd 52extern bool score_fix_adjustable (struct fix *);
1c0d3aa6
NC
53
54#define elf_tc_final_processing score_elf_final_processing
55extern void score_elf_final_processing (void);
56
57struct score_tc_frag_data
58{
59 unsigned int is_insn;
60 struct fix *fixp;
61};
62
63#define TC_FRAG_TYPE struct score_tc_frag_data
64
db222310 65#define TC_FRAG_INIT(FRAGP, MAX_BYTES) \
1c0d3aa6
NC
66 do \
67 { \
68 (FRAGP)->tc_frag_data.is_insn = (((FRAGP)->fr_type == rs_machine_dependent) ? 1 : 0); \
69 } \
70 while (0)
71
72#ifdef OBJ_ELF
73#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_"
74#else
75#define GLOBAL_OFFSET_TABLE_NAME "__GLOBAL_OFFSET_TABLE_"
76#endif
77
1c0d3aa6 78#endif /*TC_SCORE */