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]

[RFA]: multiarch IN_SOLIB_CALL_TRAMPOLINE


Hi,

the following patch is just multi-arch'ing IN_SOLIB_CALL_TRAMPOLINE.

The problem was that I need to overload that functionality for my
target but I didn't want to add a macro to the target specific
config file and multi-arching is the better approach anyway.  I've
just added gdbarch.sh but not gdbarch.[ch] to the below patch.

Corinna


2001-10-31  Corinna Vinschen  <vinschen@redhat.com>

	* arch-utils.c (generic_in_solib_call_trampoline): New function.
	* arch-utils.h (generic_in_solib_call_trampoline): Extern declaration.
	* gdbarch.c: Regenerated from gdbarch.sh.
	* gdbarch.h: Ditto.
	* gdbarch.sh (function_list): Add `IN_SOLIB_CALL_TRAMPOLINE' definition.
	* infrun.c (IN_SOLIB_CALL_TRAMPOLINE): Remove macro.

Index: arch-utils.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/arch-utils.c,v
retrieving revision 2.25
diff -u -p -r2.25 arch-utils.c
--- arch-utils.c	2001/09/07 18:36:47	2.25
+++ arch-utils.c	2001/10/31 22:05:03
@@ -105,6 +105,12 @@ generic_skip_trampoline_code (CORE_ADDR 
   return 0;
 }
 
+int
+generic_in_solib_call_trampoline (CORE_ADDR pc, char *name)
+{
+  return 0;
+}
+
 char *
 legacy_register_name (int i)
 {
Index: arch-utils.h
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/arch-utils.h,v
retrieving revision 2.18
diff -u -p -r2.18 arch-utils.h
--- arch-utils.h	2001/09/07 18:36:47	2.18
+++ arch-utils.h	2001/10/31 22:05:03
@@ -132,4 +132,6 @@ extern gdbarch_virtual_frame_pointer_fty
 
 extern CORE_ADDR generic_skip_trampoline_code (CORE_ADDR pc);
 
+extern int generic_in_solib_call_trampoline (CORE_ADDR pc, char *name);
+
 #endif
Index: gdbarch.sh
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/gdbarch.sh,v
retrieving revision 2.85
diff -u -p -r2.85 gdbarch.sh
--- gdbarch.sh	2001/10/23 15:54:21	2.85
+++ gdbarch.sh	2001/10/31 22:05:12
@@ -542,6 +542,7 @@ f:2:ADDR_BITS_REMOVE:CORE_ADDR:addr_bits
 F:2:SOFTWARE_SINGLE_STEP:void:software_single_step:enum target_signal sig, int insert_breakpoints_p:sig, insert_breakpoints_p::0:0
 f:2:TARGET_PRINT_INSN:int:print_insn:bfd_vma vma, disassemble_info *info:vma, info:::legacy_print_insn::0
 f:2:SKIP_TRAMPOLINE_CODE:CORE_ADDR:skip_trampoline_code:CORE_ADDR pc:pc:::generic_skip_trampoline_code::0
+f:2:IN_SOLIB_CALL_TRAMPOLINE:int:in_solib_call_trampoline:CORE_ADDR pc, char *name:pc, name:::generic_in_solib_call_trampoline::0
 EOF
 }
 
Index: infrun.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/infrun.c,v
retrieving revision 1.306
diff -u -p -r1.306 infrun.c
--- infrun.c	2001/10/23 15:54:22	1.306
+++ infrun.c	2001/10/31 22:05:15
@@ -183,14 +183,6 @@ static int may_follow_exec = MAY_FOLLOW_
 #define SKIP_SOLIB_RESOLVER(pc) 0
 #endif
 
-/* For SVR4 shared libraries, each call goes through a small piece of
-   trampoline code in the ".plt" section.  IN_SOLIB_CALL_TRAMPOLINE evaluates
-   to nonzero if we are current stopped in one of these. */
-
-#ifndef IN_SOLIB_CALL_TRAMPOLINE
-#define IN_SOLIB_CALL_TRAMPOLINE(pc,name)	0
-#endif
-
 /* In some shared library schemes, the return path from a shared library
    call may need to go through a trampoline too.  */
 


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