PowerPC add initial -mfuture instruction support
[deliverable/binutils-gdb.git] / gas / config / tc-ppc.h
index f71f2ea90f4fb1875ec426bca55a3d71db7b028d..08e381e293c25eb8c0443811bd5dc03e53d472d7 100644 (file)
@@ -1,5 +1,5 @@
 /* tc-ppc.h -- Header file for tc-ppc.c.
-   Copyright (C) 1994-2017 Free Software Foundation, Inc.
+   Copyright (C) 1994-2019 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of GAS, the GNU Assembler.
@@ -171,10 +171,6 @@ extern char *ppc_canonicalize_symbol_name (char *);
 #define tc_symbol_new_hook(sym) ppc_symbol_new_hook (sym)
 extern void ppc_symbol_new_hook (symbolS *);
 
-/* Set the symbol class of a label based on the csect.  */
-#define tc_frob_label(sym) ppc_frob_label (sym)
-extern void ppc_frob_label (symbolS *);
-
 /* TOC relocs requires special handling.  */
 #define tc_fix_adjustable(FIX) ppc_fix_adjustable (FIX)
 extern int ppc_fix_adjustable (struct fix *);
@@ -206,11 +202,11 @@ do {                                                              \
 extern void ppc_xcoff_end (void);
 #define md_end ppc_xcoff_end
 
+#endif /* OBJ_XCOFF */
+
 #define tc_new_dot_label(sym) ppc_new_dot_label (sym)
 extern void ppc_new_dot_label (symbolS *);
 
-#endif /* OBJ_XCOFF */
-
 extern const char       ppc_symbol_chars[];
 #define tc_symbol_chars ppc_symbol_chars
 
@@ -264,18 +260,32 @@ extern int ppc_force_relocation (struct fix *);
 /* 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_LO16                        \
-     || (FIX)->fx_r_type == BFD_RELOC_HI16             \
-     || (FIX)->fx_r_type == BFD_RELOC_HI16_S           \
-     || (FIX)->fx_r_type == BFD_RELOC_64               \
-     || (FIX)->fx_r_type == BFD_RELOC_32               \
-     || (FIX)->fx_r_type == BFD_RELOC_16               \
+#define TC_FORCE_RELOCATION_SUB_LOCAL(FIX, SEG) \
+  (!((FIX)->fx_r_type == BFD_RELOC_64                          \
+     || (FIX)->fx_r_type == BFD_RELOC_32                       \
+     || (FIX)->fx_r_type == BFD_RELOC_16                       \
+     || (FIX)->fx_r_type == BFD_RELOC_LO16                     \
+     || (FIX)->fx_r_type == BFD_RELOC_HI16                     \
+     || (FIX)->fx_r_type == BFD_RELOC_HI16_S                   \
+     || (FIX)->fx_r_type == BFD_RELOC_PPC64_ADDR16_HIGH                \
+     || (FIX)->fx_r_type == BFD_RELOC_PPC64_ADDR16_HIGHA       \
+     || (FIX)->fx_r_type == BFD_RELOC_PPC64_HIGHER             \
+     || (FIX)->fx_r_type == BFD_RELOC_PPC64_HIGHER_S           \
+     || (FIX)->fx_r_type == BFD_RELOC_PPC64_HIGHEST            \
+     || (FIX)->fx_r_type == BFD_RELOC_PPC64_HIGHEST_S          \
      || (FIX)->fx_r_type == BFD_RELOC_PPC_16DX_HA))
 #endif
 
 #define TC_VALIDATE_FIX_SUB(FIX, SEG) 0
 
+/* Various frobbings of labels and their addresses.  */
+#define md_start_line_hook() ppc_start_line_hook ()
+extern void ppc_start_line_hook (void);
+
+/* Set the symbol class of a label based on the csect.  */
+#define tc_frob_label(sym) ppc_frob_label (sym)
+extern void ppc_frob_label (symbolS *);
+
 /* call md_pcrel_from_section, not md_pcrel_from */
 #define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section(FIX, SEC)
 extern long md_pcrel_from_section (struct fix *, segT);
@@ -325,3 +335,4 @@ extern int ppc_dwarf2_line_min_insn_length;
 #define DWARF2_LINE_MIN_INSN_LENGTH     ppc_dwarf2_line_min_insn_length
 #define DWARF2_DEFAULT_RETURN_COLUMN    0x41
 #define DWARF2_CIE_DATA_ALIGNMENT       ppc_cie_data_alignment
+#define EH_FRAME_ALIGNMENT             2
This page took 0.024674 seconds and 4 git commands to generate.