aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1994-04-01 08:50:42 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1994-04-01 08:50:42 +0000
commit94a5ac73e1ec175d7b40743f76dacca06e8ee39e (patch)
tree1e3b3be0dddd77778e8480bfedc4affe367082c4
parent38b90473602f5c7295242ec0cce8f804d171bcbf (diff)
downloadgdb-94a5ac73e1ec175d7b40743f76dacca06e8ee39e.zip
gdb-94a5ac73e1ec175d7b40743f76dacca06e8ee39e.tar.gz
gdb-94a5ac73e1ec175d7b40743f76dacca06e8ee39e.tar.bz2
* config/tm-sysv4.h (IN_SOLIB_TRAMPOLINE): Use new in_plt_section.
-rw-r--r--gdb/config/tm-sysv4.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/gdb/config/tm-sysv4.h b/gdb/config/tm-sysv4.h
index 18c88ef..51c65e9 100644
--- a/gdb/config/tm-sysv4.h
+++ b/gdb/config/tm-sysv4.h
@@ -19,18 +19,12 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* For SVR4 shared libraries, each call to a library routine goes through
- a small piece of trampoline code in the ".init" section. Although each
- of these fragments is labeled with the name of the routine being called,
- the gdb symbol reading code deliberately ignores them so it won't confuse
- them with the real functions. It does however know about the label that
- precedes all of the fragments, which is "_init". Thus when we lookup a
- function that corresponds to a PC value which is in one of the trampoline
- fragments, we'll appear to be in the function "_init". The following
- macro will evaluate to nonzero when NAME is valid and matches "_init".
+ a small piece of trampoline code in the ".plt" section.
The horribly ugly wait_for_inferior() routine uses this macro to detect
when we have stepped into one of these fragments. */
-#define IN_SOLIB_TRAMPOLINE(pc,name) ((name) && (STREQ ("_init", name)))
+#define IN_SOLIB_TRAMPOLINE(pc, name) in_plt_section((pc), (name))
+extern int in_plt_section PARAMS ((CORE_ADDR, char *));
/* It is unknown which, if any, SVR4 assemblers do not accept dollar signs
in identifiers. The default in G++ is to use dots instead, for all SVR4