OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [binutils/] [gas/] [config/] [tc-riscv.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
/* tc-riscv.h -- header file for tc-riscv.c.
2
   Copyright 2011-2015 Free Software Foundation, Inc.
3
 
4
   Contributed by Andrew Waterman (waterman@cs.berkeley.edu) at UC Berkeley.
5
   Based on MIPS target.
6
 
7
   This file is part of GAS.
8
 
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 3, or (at your option)
12
   any later version.
13
 
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.
18
 
19
   You should have received a copy of the GNU General Public License
20
   along with this program; see the file COPYING3. If not,
21
   see <http://www.gnu.org/licenses/>.  */
22
 
23
#ifndef TC_RISCV
24
#define TC_RISCV
25
 
26
#include "opcode/riscv.h"
27
 
28
struct frag;
29
struct expressionS;
30
 
31
#define TARGET_BYTES_BIG_ENDIAN 0
32
 
33
#define TARGET_ARCH bfd_arch_riscv
34
 
35
#define WORKING_DOT_WORD        1
36
#define LOCAL_LABELS_FB 1
37
 
38
/* Symbols named FAKE_LABEL_NAME are emitted when generating DWARF, so make
39
   sure FAKE_LABEL_NAME is printable.  It still must be distinct from any
40
   real label name.  So, append a space, which other labels can't contain.  */
41
#define FAKE_LABEL_NAME ".L0 "
42
 
43
#define md_relax_frag(segment, fragp, stretch) \
44
  riscv_relax_frag(segment, fragp, stretch)
45
extern int riscv_relax_frag (asection *, struct frag *, long);
46
 
47
#define md_section_align(seg,size)      (size)
48
#define md_undefined_symbol(name)       (0)
49
#define md_operand(x)
50
 
51
/* FIXME: it is unclear if this is used, or if it is even correct.  */
52
#define MAX_MEM_FOR_RS_ALIGN_CODE  (1 + 2)
53
 
54
/* The ISA of the target may change based on command-line arguments.  */
55
#define TARGET_FORMAT riscv_target_format()
56
extern const char *riscv_target_format (void);
57
 
58
#define md_after_parse_args() riscv_after_parse_args()
59
extern void riscv_after_parse_args (void);
60
 
61
#define tc_init_after_args() riscv_init_after_args()
62
extern void riscv_init_after_args (void);
63
 
64
#define md_parse_long_option(arg) riscv_parse_long_option (arg)
65
extern int riscv_parse_long_option (const char *);
66
 
67
/* Let the linker resolve all the relocs due to relaxation.  */
68
#define tc_fix_adjustable(fixp) 0
69
#define md_allow_local_subtract(l,r,s) 0
70
 
71
/* Values passed to md_apply_fix don't include symbol values.  */
72
#define MD_APPLY_SYM_VALUE(FIX) 0
73
 
74
/* Global syms must not be resolved, to support ELF shared libraries.  */
75
#define EXTERN_FORCE_RELOC                      \
76
  (OUTPUT_FLAVOR == bfd_target_elf_flavour)
77
 
78
#define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEG) ((SEG)->flags & SEC_CODE)
79
#define TC_FORCE_RELOCATION_SUB_LOCAL(FIX, SEG) 1
80
#define TC_VALIDATE_FIX_SUB(FIX, SEG) 1
81
#define TC_FORCE_RELOCATION_LOCAL(FIX) 1
82
#define DIFF_EXPR_OK 1
83
 
84
extern void riscv_pop_insert (void);
85
#define md_pop_insert()         riscv_pop_insert()
86
 
87
#define TARGET_USE_CFIPOP 1
88
 
89
#define tc_cfi_frame_initial_instructions riscv_cfi_frame_initial_instructions
90
extern void riscv_cfi_frame_initial_instructions (void);
91
 
92
#define tc_regname_to_dw2regnum tc_riscv_regname_to_dw2regnum
93
extern int tc_riscv_regname_to_dw2regnum (char *regname);
94
 
95
extern unsigned xlen;
96
#define DWARF2_DEFAULT_RETURN_COLUMN X_RA
97
#define DWARF2_CIE_DATA_ALIGNMENT (xlen / 8)
98
 
99
#define elf_tc_final_processing riscv_elf_final_processing
100
extern void riscv_elf_final_processing (void);
101
 
102
#endif /* TC_RISCV */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.