gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gas / config / tc-hppa.h
index 05168b150c84d5e275e1dcad618d3946c1f1569d..b5b6bbf68bd27fb36c74312b1f030ddf6a3505a4 100644 (file)
@@ -1,6 +1,5 @@
 /* tc-hppa.h -- Header file for the PA
-   Copyright 1989, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002,
-   2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1989-2020 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
@@ -91,8 +90,8 @@
 
 /* pa_define_label gets used outside of tc-hppa.c via tc_frob_label.  */
 extern void pa_define_label (symbolS *);
-extern void parse_cons_expression_hppa (expressionS *);
-extern void cons_fix_new_hppa (fragS *, int, int, expressionS *);
+extern int parse_cons_expression_hppa (expressionS *);
+extern void cons_fix_new_hppa (fragS *, int, int, expressionS *, int);
 extern int hppa_force_relocation (struct fix *);
 
 /* This gets called before writing the object file to make sure
@@ -113,6 +112,8 @@ extern const char   hppa_symbol_chars[];
 #define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \
   parse_cons_expression_hppa (EXP)
 #define TC_CONS_FIX_NEW cons_fix_new_hppa
+#define TC_PARSE_CONS_RETURN_TYPE int
+#define TC_PARSE_CONS_RETURN_NONE e_fsel
 
 /* On the PA, an exclamation point can appear in an instruction.  It is
    used in FP comparison instructions and as an end of line marker.
@@ -137,8 +138,8 @@ int hppa_fix_adjustable (struct fix *);
    *not* end up in the symbol table.  Likewise for absolute symbols
    with local scope.  */
 #define tc_frob_symbol(sym,punt) \
-    if ((S_GET_SEGMENT (sym) == &bfd_und_section && ! symbol_used_p (sym)) \
-       || (S_GET_SEGMENT (sym) == &bfd_abs_section \
+    if ((S_GET_SEGMENT (sym) == bfd_und_section_ptr && ! symbol_used_p (sym)) \
+       || (S_GET_SEGMENT (sym) == bfd_abs_section_ptr \
            && ! S_IS_EXTERNAL (sym))) \
       punt = 1
 
@@ -165,7 +166,7 @@ int hppa_fix_adjustable (struct fix *);
    limitations as those for the 32-bit SOM target.  */
 #define DIFF_EXPR_OK 1
 
-/* Handle .type psuedo.  Given a type string of `millicode', set the
+/* Handle .type pseudo.  Given a type string of `millicode', set the
    internal elf symbol type to STT_PARISC_MILLI, and return
    BSF_FUNCTION for the BFD symbol type.  */
 #define md_elf_symbol_type(name, sym, elf)                             \
@@ -176,13 +177,19 @@ int hppa_fix_adjustable (struct fix *);
        ), BSF_FUNCTION)                                                        \
    : -1)
 
+/* Handle type change from .type pseudo: Zap STT_PARISC_MILLI when
+   switching to a non-function type.  */
+#define md_elf_symbol_type_change(sym, elf, type)                      \
+  ((type) != BSF_FUNCTION                                              \
+   && (((elf)->internal_elf_sym.st_info =                              \
+       ELF_ST_INFO (ELF_ST_BIND ((elf)->internal_elf_sym.st_info),     \
+                    STT_NOTYPE)), 0))
+
 #define tc_frob_symbol(sym,punt) \
   { \
-    if ((S_GET_SEGMENT (sym) == &bfd_und_section \
+    if ((S_GET_SEGMENT (sym) == bfd_und_section_ptr \
          && ! symbol_used_p (sym) \
          && ELF_ST_VISIBILITY (S_GET_OTHER (sym)) == STV_DEFAULT) \
-       || (S_GET_SEGMENT (sym) == &bfd_abs_section \
-           && ! S_IS_EXTERNAL (sym)) \
        || strcmp (S_GET_NAME (sym), "$global$") == 0 \
        || strcmp (S_GET_NAME (sym), "$segrel$") == 0 \
        || strcmp (S_GET_NAME (sym), "$PIC_pcrel$0") == 0 \
This page took 0.037795 seconds and 4 git commands to generate.