]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gas/config/tc-nios2.h
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / gas / config / tc-nios2.h
index 82bb624711f0f1cf56911a00c7f3dd62a6e68040..038a7d61ef1503577bdef8b5f604daf341fa834e 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for Altera Nios II assembler.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2021 Free Software Foundation, Inc.
    Contributed by Nigel Gray (ngray@altera.com).
    Contributed by Mentor Graphics, Inc.
 
@@ -45,7 +45,7 @@ extern const char *nios2_target_format (void);
    separator characters are commas, brackets and space.
    The instruction name is always separated from other tokens by a space
    The maximum number of tokens in an instruction is 5 (the instruction name,
-   3 arguments, and a 4th string representing the expected instructin opcode
+   3 arguments, and a 4th string representing the expected instruct in opcode
    after assembly. The latter is only used when the assemble is running in
    self test mode, otherwise its presence will generate an error.  */
 #define NIOS2_MAX_INSN_TOKENS  6
@@ -92,7 +92,7 @@ extern long nios2_relax_frag (segT segment, fragS * fragP, long stretch);
 
 /* Processor-specific section directives.  */
 #define md_elf_section_letter          nios2_elf_section_letter
-extern int nios2_elf_section_letter (int, char **);
+extern int nios2_elf_section_letter (int, const char **);
 #define md_elf_section_flags           nios2_elf_section_flags
 extern flagword nios2_elf_section_flags (flagword, int, int);
 #endif
@@ -101,6 +101,14 @@ extern flagword nios2_elf_section_flags (flagword, int, int);
 
 #define DIFF_EXPR_OK
 
+/* Don't allow the generic code to convert fixups involving the
+   subtraction of a label in the current section to pc-relative if we
+   don't have the necessary pc-relative relocation.  */
+#define TC_FORCE_RELOCATION_SUB_LOCAL(FIX, SEG)                \
+  (!((FIX)->fx_r_type == BFD_RELOC_16                  \
+     || (FIX)->fx_r_type == BFD_RELOC_NIOS2_LO16       \
+     || (FIX)->fx_r_type == BFD_RELOC_NIOS2_HIADJ16))
+
 /* Nios2 ABI doesn't have 32-bit PCREL relocation, and, as relocations for
    CFI information will be in section other than .text, we can't use PC-biased
    relocs.  */
@@ -118,4 +126,7 @@ extern int nios2_regname_to_dw2regnum (char *regname);
 #define tc_cfi_frame_initial_instructions  nios2_frame_initial_instructions
 extern void nios2_frame_initial_instructions (void);
 
+#define elf_tc_final_processing nios2_elf_final_processing
+extern void nios2_elf_final_processing (void);
+
 #endif /* TC_NIOS2 */