OK, this file was pretty much completely wrong. I copied it from the

SunOS version, but our shared libraries are not THAT much like SunOS.
In NetBSD a.out shared libraries, trampoline stubs have _DYNAMIC+n
as their symbol, so we can recognize them with strcmp.  We may also
need SKIP_TRAMPOLINE_CODE(pc) eventually, but doing that right takes
machine dependent code to lookup what the _DYNAMIC stub jumps to.
(gdb appears to work OK on a.out without SKIP_TRAMPOLINE_CODE)
This commit is contained in:
gwr 1998-01-12 16:03:28 +00:00
parent 7afe181893
commit 98e7377438
1 changed files with 4 additions and 5 deletions

View File

@ -20,12 +20,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "solib.h" /* Support for shared libraries. */
#ifndef SVR4_SHARED_LIBS
/* Return non-zero if we are in a shared library trampoline code stub. */
#define IN_SOLIB_CALL_TRAMPOLINE(pc, name) \
lookup_solib_trampoline_symbol_by_pc (pc)
(name && !strcmp(name, "_DYNAMIC"))
/* If PC is in a shared library trampoline code, return the PC
where the function itself actually starts. If not, return 0. */
#define SKIP_TRAMPOLINE_CODE(pc) find_solib_trampoline_target (pc)
#endif /* SVR4_SHARED_LIBS */