* gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Renamed from

REG_STRUCT_HAS_ADDR.
* gdbarch.c, gdbarch.h: Updated.
* infcall.c (call_function_by_hand): Update.
* stabsread.c (define_symbol): Updated.
This commit is contained in:
Mark Kettenis 2003-09-13 14:12:41 +00:00
parent ebf7d56bcf
commit 8e823e2504
6 changed files with 24 additions and 13 deletions

View file

@ -1,5 +1,11 @@
2003-09-13 Mark Kettenis <kettenis@gnu.org> 2003-09-13 Mark Kettenis <kettenis@gnu.org>
* gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Renamed from
REG_STRUCT_HAS_ADDR.
* gdbarch.c, gdbarch.h: Updated.
* infcall.c (call_function_by_hand): Update.
* stabsread.c (define_symbol): Updated.
* Makefile.in (xm-i386-sv32.h, tm-i386gas.h): Remove. * Makefile.in (xm-i386-sv32.h, tm-i386gas.h): Remove.
2003-09-12 Christopher Faylor <cgf@redhat.com> 2003-09-12 Christopher Faylor <cgf@redhat.com>

View file

@ -1,3 +1,8 @@
2003-09-13 Mark Kettenis <kettenis@gnu.org>
* gdbint.texinfo (Target Architecture Definition): Replace
REG_STRUCT_HAS_ADDR with DEPRECATED_REG_STRUCT_HAS_ADDR.
2003-09-11 Andrew Cagney <cagney@redhat.com> 2003-09-11 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Replace * gdbint.texinfo (Target Architecture Definition): Replace

View file

@ -3760,8 +3760,8 @@ or @code{NUL} to indicate that register @var{i} is not valid.
@findex REGISTER_NAMES @findex REGISTER_NAMES
Deprecated in favor of @code{REGISTER_NAME}. Deprecated in favor of @code{REGISTER_NAME}.
@item REG_STRUCT_HAS_ADDR (@var{gcc_p}, @var{type}) @item DEPRECATED_REG_STRUCT_HAS_ADDR (@var{gcc_p}, @var{type})
@findex REG_STRUCT_HAS_ADDR @findex DEPRECATED_REG_STRUCT_HAS_ADDR
Define this to return 1 if the given type will be passed by pointer Define this to return 1 if the given type will be passed by pointer
rather than directly. rather than directly.

View file

@ -646,7 +646,7 @@ F:2:FRAME_NUM_ARGS:int:frame_num_args:struct frame_info *frame:frame
# alignment. # alignment.
F:2:DEPRECATED_STACK_ALIGN:CORE_ADDR:deprecated_stack_align:CORE_ADDR sp:sp F:2:DEPRECATED_STACK_ALIGN:CORE_ADDR:deprecated_stack_align:CORE_ADDR sp:sp
M:::CORE_ADDR:frame_align:CORE_ADDR address:address M:::CORE_ADDR:frame_align:CORE_ADDR address:address
F:2:REG_STRUCT_HAS_ADDR:int:reg_struct_has_addr:int gcc_p, struct type *type:gcc_p, type F:2:DEPRECATED_REG_STRUCT_HAS_ADDR:int:deprecated_reg_struct_has_addr:int gcc_p, struct type *type:gcc_p, type
v::FRAME_RED_ZONE_SIZE:int:frame_red_zone_size v::FRAME_RED_ZONE_SIZE:int:frame_red_zone_size
v:2:PARM_BOUNDARY:int:parm_boundary v:2:PARM_BOUNDARY:int:parm_boundary
# #

View file

@ -664,7 +664,7 @@ You must use a pointer to function type variable. Command ignored.", arg_name);
} }
} }
if (REG_STRUCT_HAS_ADDR_P ()) if (DEPRECATED_REG_STRUCT_HAS_ADDR_P ())
{ {
int i; int i;
/* This is a machine like the sparc, where we may need to pass a /* This is a machine like the sparc, where we may need to pass a
@ -681,7 +681,7 @@ You must use a pointer to function type variable. Command ignored.", arg_name);
|| (TYPE_CODE (arg_type) == TYPE_CODE_FLT || (TYPE_CODE (arg_type) == TYPE_CODE_FLT
&& TYPE_LENGTH (arg_type) > 8) && TYPE_LENGTH (arg_type) > 8)
) )
&& REG_STRUCT_HAS_ADDR (using_gcc, arg_type)) && DEPRECATED_REG_STRUCT_HAS_ADDR (using_gcc, arg_type))
{ {
CORE_ADDR addr; CORE_ADDR addr;
int len; /* = TYPE_LENGTH (arg_type); */ int len; /* = TYPE_LENGTH (arg_type); */
@ -760,8 +760,8 @@ You must use a pointer to function type variable. Command ignored.", arg_name);
/* elz: on HPPA no need for this extra alignment, maybe it is needed /* elz: on HPPA no need for this extra alignment, maybe it is needed
on other architectures. This is because all the alignment is on other architectures. This is because all the alignment is
taken care of in the above code (ifdef REG_STRUCT_HAS_ADDR) and taken care of in the above code (ifdef DEPRECATED_REG_STRUCT_HAS_ADDR)
in hppa_push_arguments */ and in hppa_push_arguments */
/* NOTE: cagney/2003-03-24: The below code is very broken. Given an /* NOTE: cagney/2003-03-24: The below code is very broken. Given an
odd sized parameter the below will mis-align the stack. As was odd sized parameter the below will mis-align the stack. As was
suggested back in '96, better to let PUSH_ARGUMENTS handle it. */ suggested back in '96, better to let PUSH_ARGUMENTS handle it. */

View file

@ -1752,7 +1752,7 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
name to represent an argument passed in a register. name to represent an argument passed in a register.
GCC uses 'P' for the same case. So if we find such a symbol pair GCC uses 'P' for the same case. So if we find such a symbol pair
we combine it into one 'P' symbol. For Sun cc we need to do this we combine it into one 'P' symbol. For Sun cc we need to do this
regardless of REG_STRUCT_HAS_ADDR, because the compiler puts out regardless of DEPRECATED_REG_STRUCT_HAS_ADDR, because the compiler puts out
the 'p' symbol even if it never saves the argument onto the stack. the 'p' symbol even if it never saves the argument onto the stack.
On most machines, we want to preserve both symbols, so that On most machines, we want to preserve both symbols, so that
@ -1768,8 +1768,8 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
if (local_symbols if (local_symbols
&& local_symbols->nsyms > 0 && local_symbols->nsyms > 0
#ifndef USE_REGISTER_NOT_ARG #ifndef USE_REGISTER_NOT_ARG
&& REG_STRUCT_HAS_ADDR_P () && DEPRECATED_REG_STRUCT_HAS_ADDR_P ()
&& REG_STRUCT_HAS_ADDR (processing_gcc_compilation, && DEPRECATED_REG_STRUCT_HAS_ADDR (processing_gcc_compilation,
SYMBOL_TYPE (sym)) SYMBOL_TYPE (sym))
&& (TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_STRUCT && (TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_STRUCT
|| TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_UNION || TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_UNION
@ -2050,8 +2050,8 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
/* When passing structures to a function, some systems sometimes pass /* When passing structures to a function, some systems sometimes pass
the address in a register, not the structure itself. */ the address in a register, not the structure itself. */
if (REG_STRUCT_HAS_ADDR_P () if (DEPRECATED_REG_STRUCT_HAS_ADDR_P ()
&& REG_STRUCT_HAS_ADDR (processing_gcc_compilation, SYMBOL_TYPE (sym)) && DEPRECATED_REG_STRUCT_HAS_ADDR (processing_gcc_compilation, SYMBOL_TYPE (sym))
&& (SYMBOL_CLASS (sym) == LOC_REGPARM || SYMBOL_CLASS (sym) == LOC_ARG)) && (SYMBOL_CLASS (sym) == LOC_REGPARM || SYMBOL_CLASS (sym) == LOC_ARG))
{ {
struct type *symbol_type = check_typedef (SYMBOL_TYPE (sym)); struct type *symbol_type = check_typedef (SYMBOL_TYPE (sym));
@ -2061,7 +2061,7 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
|| (TYPE_CODE (symbol_type) == TYPE_CODE_BITSTRING) || (TYPE_CODE (symbol_type) == TYPE_CODE_BITSTRING)
|| (TYPE_CODE (symbol_type) == TYPE_CODE_SET)) || (TYPE_CODE (symbol_type) == TYPE_CODE_SET))
{ {
/* If REG_STRUCT_HAS_ADDR yields non-zero we have to convert /* If DEPRECATED_REG_STRUCT_HAS_ADDR yields non-zero we have to convert
LOC_REGPARM to LOC_REGPARM_ADDR for structures and unions. */ LOC_REGPARM to LOC_REGPARM_ADDR for structures and unions. */
if (SYMBOL_CLASS (sym) == LOC_REGPARM) if (SYMBOL_CLASS (sym) == LOC_REGPARM)
SYMBOL_CLASS (sym) = LOC_REGPARM_ADDR; SYMBOL_CLASS (sym) = LOC_REGPARM_ADDR;