This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit] Remove some remains of HP aCC support


Hello,

this patch removes another (probably broken) special case in 
call_function_by_hand to support aCC on HP/UX.  This was left
over when removing the rest of the aCC support in 6.7.

Tested on s390-ibm-linux.  Committed to mainline.

Bye,
Ulrich


ChangeLog:

	* infcall.c (call_function_by_hand): Remove special handling
	for HP aCC compiled code.

diff -urNp gdb-orig/gdb/infcall.c gdb-head/gdb/infcall.c
--- gdb-orig/gdb/infcall.c	2007-10-12 03:51:14.000000000 +0200
+++ gdb-head/gdb/infcall.c	2007-10-12 03:52:36.000000000 +0200
@@ -583,44 +583,6 @@ call_function_by_hand (struct value *fun
 
 	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);
-		      }
-	      }
-	  }
       }
   }
 
-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]