* 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:
parent
ebf7d56bcf
commit
8e823e2504
6 changed files with 24 additions and 13 deletions
|
@ -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>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
#
|
#
|
||||||
|
|
|
@ -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. */
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Add table
Reference in a new issue