Changes to VT:
- library wrapping: Prevent calling dlerror, if the memory allocation wrappers are enabled. dlerror calls realloc which would ends up in an infinite recursion. This commit was SVN r27869.
Этот коммит содержится в:
родитель
73387e50e2
Коммит
fd00910616
@ -1,6 +1,7 @@
|
|||||||
5.14.2openmpi
|
5.14.2openmpi
|
||||||
- fixed build error occurred if VT is configured with exec tracing
|
- fixed build error occurred if VT is configured with exec tracing
|
||||||
enabled, but with memory allocation tracing disabled
|
enabled, but with memory allocation tracing disabled
|
||||||
|
- fixed infinite recursion in the realloc wrapper initiated by dlerror
|
||||||
- fixed assertion error occurred when MPI_Initialized is the very first
|
- fixed assertion error occurred when MPI_Initialized is the very first
|
||||||
event to be recorded
|
event to be recorded
|
||||||
- fixed potential stack underflow when tracing only MPI events of a
|
- fixed potential stack underflow when tracing only MPI events of a
|
||||||
|
@ -39,6 +39,16 @@
|
|||||||
# define MAX_HANDLES (VT_LIBWRAP_MAX_SHLIBS+1)
|
# define MAX_HANDLES (VT_LIBWRAP_MAX_SHLIBS+1)
|
||||||
#endif /* HAVE_DECL_RTLD_NEXT */
|
#endif /* HAVE_DECL_RTLD_NEXT */
|
||||||
|
|
||||||
|
/* Do not call dlerror, if the memory allocation wrappers are enabled.
|
||||||
|
dlerror calls realloc which would ends up in an infinite recursion. */
|
||||||
|
#ifdef VT_MALLOCWRAP
|
||||||
|
# define dlerror no_dlerror
|
||||||
|
static char* no_dlerror(void)
|
||||||
|
{
|
||||||
|
return "unknown";
|
||||||
|
}
|
||||||
|
#endif /* VT_MALLOCWRAP */
|
||||||
|
|
||||||
/* data structure for library wrapper object */
|
/* data structure for library wrapper object */
|
||||||
struct VTLibwrap_struct
|
struct VTLibwrap_struct
|
||||||
{
|
{
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user