gdb: remove TYPE_GNU_IFUNC
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 14 Sep 2020 15:08:06 +0000 (11:08 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 14 Sep 2020 15:08:06 +0000 (11:08 -0400)
gdb/ChangeLog:

* gdbtypes.h (TYPE_GNU_IFUNC): Remove, replace all
uses with type::is_gnu_ifunc.

Change-Id: I72aae22599b5e582910c5d50588feaf159032bd8

gdb/ChangeLog
gdb/compile/compile-c-symbols.c
gdb/compile/compile-cplus-symbols.c
gdb/eval.c
gdb/gdbtypes.h
gdb/infcall.c

index 0c78d2aed3b60df904a3bb2d16e58be7d58d1620..eba28b86ce47b10b57cecc9fcaa5b09a2f6ad59c 100644 (file)
@@ -1,3 +1,8 @@
+2020-09-14  Simon Marchi  <simon.marchi@efficios.com>
+
+       * gdbtypes.h (TYPE_GNU_IFUNC): Remove, replace all
+       uses with type::is_gnu_ifunc.
+
 2020-09-14  Simon Marchi  <simon.marchi@efficios.com>
 
        * gdbtypes.h (struct type) <is_gnu_ifunc, set_is_gnu_ifunc>: New methods.
index f4e0783d4b89c9cb2838de9372c86a68427f78ac..6d455fe6b9a5d25d2940c0792a2bea2927ed2352 100644 (file)
@@ -94,7 +94,7 @@ convert_one_symbol (compile_c_instance *context,
        case LOC_BLOCK:
          kind = GCC_C_SYMBOL_FUNCTION;
          addr = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym.symbol));
-         if (is_global && TYPE_GNU_IFUNC (SYMBOL_TYPE (sym.symbol)))
+         if (is_global && SYMBOL_TYPE (sym.symbol)->is_gnu_ifunc ())
            addr = gnu_ifunc_resolve_addr (target_gdbarch (), addr);
          break;
 
@@ -405,7 +405,7 @@ gcc_symbol_address (void *datum, struct gcc_c_context *gcc_context,
                                "gcc_symbol_address \"%s\": full symbol\n",
                                identifier);
          result = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym));
-         if (TYPE_GNU_IFUNC (SYMBOL_TYPE (sym)))
+         if (SYMBOL_TYPE (sym)->is_gnu_ifunc ())
            result = gnu_ifunc_resolve_addr (target_gdbarch (), result);
          found = 1;
        }
index 11a2d3234586f542ba259ae60157a93514345a25..1998584791db8e2075ed17940a8dbcd2824dffb4 100644 (file)
@@ -88,7 +88,7 @@ convert_one_symbol (compile_cplus_instance *instance,
          {
            kind = GCC_CP_SYMBOL_FUNCTION;
            addr = BLOCK_START (SYMBOL_BLOCK_VALUE (sym.symbol));
-           if (is_global && TYPE_GNU_IFUNC (SYMBOL_TYPE (sym.symbol)))
+           if (is_global && SYMBOL_TYPE (sym.symbol)->is_gnu_ifunc ())
              addr = gnu_ifunc_resolve_addr (target_gdbarch (), addr);
          }
          break;
@@ -442,7 +442,7 @@ gcc_cplus_symbol_address (void *datum, struct gcc_cp_context *gcc_context,
                                "gcc_symbol_address \"%s\": full symbol\n",
                                identifier);
          result = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
-         if (TYPE_GNU_IFUNC (SYMBOL_TYPE (sym)))
+         if (SYMBOL_TYPE (sym)->is_gnu_ifunc ())
            result = gnu_ifunc_resolve_addr (target_gdbarch (), result);
          found = 1;
        }
index 2d27198162636ebf69ac7b7f94c7c680a9965057..e5e88f3c9bfe60009e15f1d857c2dd7a189cf410 100644 (file)
@@ -735,7 +735,7 @@ evaluate_var_msym_value (enum noside noside,
   CORE_ADDR address;
   type *the_type = find_minsym_type_and_address (msymbol, objfile, &address);
 
-  if (noside == EVAL_AVOID_SIDE_EFFECTS && !TYPE_GNU_IFUNC (the_type))
+  if (noside == EVAL_AVOID_SIDE_EFFECTS && !the_type->is_gnu_ifunc ())
     return value_zero (the_type, not_lval);
   else
     return value_at_lazy (the_type, address);
@@ -793,7 +793,7 @@ eval_call (expression *exp, enum noside noside,
       else if (ftype->code () == TYPE_CODE_FUNC
               || ftype->code () == TYPE_CODE_METHOD)
        {
-         if (TYPE_GNU_IFUNC (ftype))
+         if (ftype->is_gnu_ifunc ())
            {
              CORE_ADDR address = value_address (argvec[0]);
              type *resolved_type = find_gnu_ifunc_target_type (address);
index 4a2dc2a0794b6990a043c4302ff7f55516a5f057..f72f711bdabd1294066ae2c97aa2a2002dfaf3b8 100644 (file)
@@ -233,13 +233,6 @@ DEF_ENUM_FLAGS_TYPE (enum type_instance_flag_value, type_instance_flags);
 
 #define TYPE_NOTTEXT(t)        (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_NOTTEXT)
 
-/* * Used only for TYPE_CODE_FUNC where it specifies the real function
-   address is returned by this function call.  TYPE_TARGET_TYPE
-   determines the final returned function type to be presented to
-   user.  */
-
-#define TYPE_GNU_IFUNC(t)      ((t)->is_gnu_ifunc ())
-
 /* * Type owner.  If TYPE_OBJFILE_OWNED is true, the type is owned by
    the objfile retrieved as TYPE_OBJFILE.  Otherwise, the type is
    owned by an architecture; TYPE_OBJFILE is NULL in this case.  */
@@ -1133,6 +1126,11 @@ struct type
     this->main_type->m_flag_stub_supported = stub_is_supported;
   }
 
+  /* Used only for TYPE_CODE_FUNC where it specifies the real function
+     address is returned by this function call.  TYPE_TARGET_TYPE
+     determines the final returned function type to be presented to
+     user.  */
+
   bool is_gnu_ifunc () const
   {
     return this->main_type->m_flag_gnu_ifunc;
index 9539d38142886873dcf0d4ff75f600001db3d1a6..f87b7456ec050032704f881447cc32d4fd327a0e 100644 (file)
@@ -275,7 +275,7 @@ find_function_addr (struct value *function,
   if (ftype->code () == TYPE_CODE_FUNC
       || ftype->code () == TYPE_CODE_METHOD)
     {
-      if (TYPE_GNU_IFUNC (ftype))
+      if (ftype->is_gnu_ifunc ())
        {
          CORE_ADDR resolver_addr = funaddr;