This is the mail archive of the gdb-patches@sources.redhat.com 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]

[patch] Make INIT_EXTRA_FRAME_INFO a function and predicate


Hello,

The attached changes the multi-arch config for INIT_EXTRA_FRAME_INFO so 
that it is a function with a predicate (INIT_EXTRA_FRAME_INFO_P()).

This removes the need for this functions definition when a target 
doesn't use it.

I've checked it in as obvious.  If people are wondering why it wasn't 
done earlier it is because INIT_EXTRA_FRAME_INFO was multi-arched before 
gdbarch.sh started supporting the predicate mechanism.

enjoy,
Andrew
2001-11-05  Andrew Cagney  <ac131313@redhat.com>

	* gdbarch.sh (init_extra_frame_info): Change to a function with
	pedicate.
	* gdbarch.h, gdbarch.c: Re-generate.	
	* blockframe.c (create_new_frame): Replace #ifdef
	INIT_EXTRA_FRAME_INFO with run-time test of
	INIT_EXTRA_FRAME_INFO_P.

Index: blockframe.c
===================================================================
RCS file: /cvs/src/src/gdb/blockframe.c,v
retrieving revision 1.18
diff -p -r1.18 blockframe.c
*** blockframe.c	2001/07/07 17:19:50	1.18
--- blockframe.c	2001/11/05 23:01:40
*************** create_new_frame (CORE_ADDR addr, CORE_A
*** 227,235 ****
    find_pc_partial_function (pc, &name, (CORE_ADDR *) NULL, (CORE_ADDR *) NULL);
    fi->signal_handler_caller = IN_SIGTRAMP (fi->pc, name);
  
! #ifdef INIT_EXTRA_FRAME_INFO
!   INIT_EXTRA_FRAME_INFO (0, fi);
! #endif
  
    return fi;
  }
--- 227,234 ----
    find_pc_partial_function (pc, &name, (CORE_ADDR *) NULL, (CORE_ADDR *) NULL);
    fi->signal_handler_caller = IN_SIGTRAMP (fi->pc, name);
  
!   if (INIT_EXTRA_FRAME_INFO_P ())
!     INIT_EXTRA_FRAME_INFO (0, fi);
  
    return fi;
  }
Index: gdbarch.sh
===================================================================
RCS file: /cvs/src/src/gdb/gdbarch.sh,v
retrieving revision 1.85
diff -p -r1.85 gdbarch.sh
*** gdbarch.sh	2001/11/05 21:34:33	1.85
--- gdbarch.sh	2001/11/05 23:01:47
*************** F:2:EXTRACT_STRUCT_VALUE_ADDRESS:CORE_AD
*** 487,493 ****
  f:2:USE_STRUCT_CONVENTION:int:use_struct_convention:int gcc_p, struct type *value_type:gcc_p, value_type:::0
  #
  f:2:FRAME_INIT_SAVED_REGS:void:frame_init_saved_regs:struct frame_info *frame:frame::0:0
! f:2:INIT_EXTRA_FRAME_INFO:void:init_extra_frame_info:int fromleaf, struct frame_info *frame:fromleaf, frame:::0
  #
  f:2:SKIP_PROLOGUE:CORE_ADDR:skip_prologue:CORE_ADDR ip:ip::0:0
  f:2:PROLOGUE_FRAMELESS_P:int:prologue_frameless_p:CORE_ADDR ip:ip::0:generic_prologue_frameless_p::0
--- 487,493 ----
  f:2:USE_STRUCT_CONVENTION:int:use_struct_convention:int gcc_p, struct type *value_type:gcc_p, value_type:::0
  #
  f:2:FRAME_INIT_SAVED_REGS:void:frame_init_saved_regs:struct frame_info *frame:frame::0:0
! F:2:INIT_EXTRA_FRAME_INFO:void:init_extra_frame_info:int fromleaf, struct frame_info *frame:fromleaf, frame:::0
  #
  f:2:SKIP_PROLOGUE:CORE_ADDR:skip_prologue:CORE_ADDR ip:ip::0:0
  f:2:PROLOGUE_FRAMELESS_P:int:prologue_frameless_p:CORE_ADDR ip:ip::0:generic_prologue_frameless_p::0

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