aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2007-10-12 15:31:42 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2007-10-12 15:31:42 +0000
commitf156e33b31b33e3b5b1b3ba506b8060d1084fbf5 (patch)
treeb13f106bff5af0a8fd33d0b7474c377515e91eac
parentf6e56ab396717b198eb7a8eded5d0d2d24483c5e (diff)
downloadgdb-f156e33b31b33e3b5b1b3ba506b8060d1084fbf5.zip
gdb-f156e33b31b33e3b5b1b3ba506b8060d1084fbf5.tar.gz
gdb-f156e33b31b33e3b5b1b3ba506b8060d1084fbf5.tar.bz2
* infcall.c (call_function_by_hand): Remove special handling
for HP aCC compiled code.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/infcall.c38
2 files changed, 5 insertions, 38 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 76e3fa1..3bc050a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2007-10-12 Ulrich Weigand <uweigand@de.ibm.com>
+ * infcall.c (call_function_by_hand): Remove special handling
+ for HP aCC compiled code.
+
+2007-10-12 Ulrich Weigand <uweigand@de.ibm.com>
+
* cris-tdep.c (cris_push_dummy_call): Support arguments passed by
reference. Fix endianness bugs.
(cris_reg_struct_has_address): Remove.
diff --git a/gdb/infcall.c b/gdb/infcall.c
index fe9b168..2155796 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -583,44 +583,6 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
if (param_type != NULL && language_pass_by_reference (param_type))
args[i] = value_addr (args[i]);
-
- /* elz: this code is to handle the case in which the function
- to be called has a pointer to function as parameter and the
- corresponding actual argument is the address of a function
- and not a pointer to function variable. In aCC compiled
- code, the calls through pointers to functions (in the body
- of the function called by hand) are made via
- $$dyncall_external which requires some registers setting,
- this is taken care of if we call via a function pointer
- variable, but not via a function address. In cc this is
- not a problem. */
-
- if (using_gcc == 0)
- {
- if (param_type != NULL && TYPE_CODE (ftype) != TYPE_CODE_METHOD)
- {
- /* if this parameter is a pointer to function. */
- if (TYPE_CODE (param_type) == TYPE_CODE_PTR)
- if (TYPE_CODE (TYPE_TARGET_TYPE (param_type)) == TYPE_CODE_FUNC)
- /* elz: FIXME here should go the test about the
- compiler used to compile the target. We want to
- issue the error message only if the compiler
- used was HP's aCC. If we used HP's cc, then
- there is no problem and no need to return at
- this point. */
- /* Go see if the actual parameter is a variable of
- type pointer to function or just a function. */
- if (VALUE_LVAL (args[i]) == not_lval)
- {
- char *arg_name;
- /* NOTE: cagney/2005-01-02: THIS IS BOGUS. */
- if (find_pc_partial_function ((CORE_ADDR) value_contents (args[i])[0], &arg_name, NULL, NULL))
- error (_("\
-You cannot use function <%s> as argument. \n\
-You must use a pointer to function type variable. Command ignored."), arg_name);
- }
- }
- }
}
}