Calling ifunc functions when target has no debug info but resolver has
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index e23eeee0d07a3589dd38df2d9be2fb66bfd7662d..8db2d8aeb6d59d3faaa515f5af3d368904b882b5 100644 (file)
@@ -1,3 +1,26 @@
+2018-04-26  Pedro Alves  <palves@redhat.com>
+
+       * blockframe.c (find_gnu_ifunc_target_type): New function.
+       (find_function_type): New.
+       * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
+       return a value with a memory address.
+       (eval_call): For calls to GNU ifunc functions, try to find the
+       type of the target function from the type that the resolver
+       returns.
+       * gdbtypes.c (objfile_type): Don't install a return type for ifunc
+       symbols.
+       * infcall.c (find_function_return_type): Delete.
+       (find_function_addr): Add 'function_type' parameter.  For calls to
+       GNU ifunc functions, try to find the type of the target function
+       from the type that the resolver returns, and return it via
+       FUNCTION_TYPE.
+       (call_function_by_hand_dummy): Adjust to use the function type
+       returned by find_function_addr.
+       (find_function_addr): Add 'function_type' parameter and move
+       description here.
+       * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
+       declarations.
+
 2018-04-26  Pedro Alves  <palves@redhat.com>
 
        * c-exp.y (variable production): Skip finding an alias for ifunc
This page took 0.023632 seconds and 4 git commands to generate.