[openib-general] [PATCH] OpenSM - complib constructor cause ASSERT

Yael Kalka yael at mellanox.co.il
Wed Mar 8 04:56:58 PST 2006


Hi Hal,

Attached is a patch regarding the complib constructor ASSERT issue.
This removes the constructor attribute from the complib_init function,
and as a result adds an explicit call for complib_init in opensm/main.c
and osmtest/main.c.
Also, this patch removes #ifdef __WIN__ existing in opensm/main.c, as
main.c is different between linux and windows stacks.
Thanks,
Yael

Signed-off-by:  Yael Kalka <yael at mellanox.co.il>

Index: complib/cl_complib.c
===================================================================
--- complib/cl_complib.c	(revision 5671)
+++ complib/cl_complib.c	(working copy)
@@ -62,7 +62,6 @@ __cl_timer_prov_destroy( void );
 cl_spinlock_t cl_atomic_spinlock;
 
 void
-__attribute (( constructor ))
 complib_init(void)
 {
 	cl_status_t	status = CL_SUCCESS;
Index: osmtest/main.c
===================================================================
--- osmtest/main.c	(revision 5671)
+++ osmtest/main.c	(working copy)
@@ -593,9 +593,7 @@ main( int argc,
    if (vendor_debug)
        osm_vendor_set_debug(osm_test.p_vendor, vendor_debug);
 
-#ifdef __WIN__
 	complib_init();
-#endif
 
 	status = osmtest_init( &osm_test, &opt, ( osm_log_level_t ) log_flags );
 	if( status != IB_SUCCESS )
Index: opensm/main.c
===================================================================
--- opensm/main.c	(revision 5671)
+++ opensm/main.c	(working copy)
@@ -44,10 +44,6 @@
  *
  * $Revision: 1.23 $
  */
-#ifdef __WIN__
-#pragma warning(disable : 4996)
-#endif
-
 #if HAVE_CONFIG_H
 #  include <config.h>
 #endif /* HAVE_CONFIG_H */
@@ -506,9 +502,7 @@ main(
       {  NULL,            0, NULL,  0 }  /* Required at the end of the array */
     };
 
-#ifdef __WIN__
 	complib_init();
-#endif
 
   /* Make sure that the opensm and complib were compiled using 
      same modes (debug/free) */




More information about the general mailing list