version 1.1.1.1, 1999/11/27 10:58:32 |
version 1.1.1.2, 2000/04/14 11:07:58 |
|
|
#if (defined(DYNAMIC_LOADING) || defined(MSWIN32)) && !defined(PCR) |
#if (defined(DYNAMIC_LOADING) || defined(MSWIN32)) && !defined(PCR) |
#if !defined(SUNOS4) && !defined(SUNOS5DL) && !defined(IRIX5) && \ |
#if !defined(SUNOS4) && !defined(SUNOS5DL) && !defined(IRIX5) && \ |
!defined(MSWIN32) && !(defined(ALPHA) && defined(OSF1)) && \ |
!defined(MSWIN32) && !(defined(ALPHA) && defined(OSF1)) && \ |
!defined(HP_PA) && !(defined(LINUX) && defined(__ELF__)) && \ |
!defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \ |
!defined(RS6000) && !defined(SCO_ELF) |
!defined(RS6000) && !defined(SCO_ELF) |
--> We only know how to find data segments of dynamic libraries for the |
--> We only know how to find data segments of dynamic libraries for the |
--> above. Additional SVR4 variants might not be too |
--> above. Additional SVR4 variants might not be too |
Line 283 void GC_register_dynamic_libraries() |
|
Line 283 void GC_register_dynamic_libraries() |
|
static struct link_map * |
static struct link_map * |
GC_FirstDLOpenedLinkMap() |
GC_FirstDLOpenedLinkMap() |
{ |
{ |
|
# ifdef __GNUC__ |
|
# pragma weak _DYNAMIC |
|
# endif |
extern ElfW(Dyn) _DYNAMIC[]; |
extern ElfW(Dyn) _DYNAMIC[]; |
ElfW(Dyn) *dp; |
ElfW(Dyn) *dp; |
struct r_debug *r; |
struct r_debug *r; |
Line 655 void GC_register_dynamic_libraries() |
|
Line 658 void GC_register_dynamic_libraries() |
|
} |
} |
#endif |
#endif |
|
|
#if defined(HP_PA) |
#if defined(HPUX) |
|
|
#include <errno.h> |
#include <errno.h> |
#include <dl.h> |
#include <dl.h> |
Line 678 void GC_register_dynamic_libraries() |
|
Line 681 void GC_register_dynamic_libraries() |
|
|
|
/* Check if this is the end of the list or if some error occured */ |
/* Check if this is the end of the list or if some error occured */ |
if (status != 0) { |
if (status != 0) { |
|
# ifdef HPUX_THREADS |
|
/* I've seen errno values of 0. The man page is not clear */ |
|
/* as to whether errno should get set on a -1 return. */ |
|
break; |
|
# else |
if (errno == EINVAL) { |
if (errno == EINVAL) { |
break; /* Moved past end of shared library list --> finished */ |
break; /* Moved past end of shared library list --> finished */ |
} else { |
} else { |
Line 688 void GC_register_dynamic_libraries() |
|
Line 696 void GC_register_dynamic_libraries() |
|
} |
} |
ABORT("shl_get failed"); |
ABORT("shl_get failed"); |
} |
} |
|
# endif |
} |
} |
|
|
# ifdef VERBOSE |
# ifdef VERBOSE |
Line 710 void GC_register_dynamic_libraries() |
|
Line 719 void GC_register_dynamic_libraries() |
|
index++; |
index++; |
} |
} |
} |
} |
#endif /* HP_PA */ |
#endif /* HPUX */ |
|
|
#ifdef RS6000 |
#ifdef RS6000 |
#pragma alloca |
#pragma alloca |