[ofw] [PATCH] complib: add cl_nodenamemap

Sean Hefty sean.hefty at intel.com
Sat Feb 28 22:46:38 PST 2009

>> I replaced USE_MSVCRT=1 with USE_NTDDL=1 before creating this patch.
>Wait, complib was linking against the CRT?  Is that a recent change, because my
>source shows it as linking against NTDLL.

Not what's in the tree.  I was using this in my local branch, because I couldn't
build cl_nodenamemap without out it.  I removed this change when I submitted the
patches, under the false assumption that the build still worked.  (I didn't
force a clean build after changing the sources file; I assumed that it was smart
enough to figure out that changes to the make files should cause a rebuild.

>Having complib use the CRT will make the whole stack use the CRT, since
>everything that links against complib will end up using the CRT.

I'm not convinced this is true.  The issues that you referenced only mentioned
that there can be problems if you pass CRT objects through the DLL interface.

If complib isn't using the CRT now, then we should be safe.

>Could cl_nodenamemap use be replaced with one of the
>other existing map implementations (cl_rbmap or cl_fleximap?)

No - cl_nodenamemap is a small wrapper over cl_quickmap, where the keys are
strings of data than may be read from a file.  It is desirable to return complib
back to a single set of interfaces that are common across different platforms.
Otherwise, it's pointless, and native interfaces should just be used instead.

As alternatives, cl_nodenamemap could be compiled directly into each ib-diag
that requires it, plus opensm (eventually), or it could become its own library.

- Sean

More information about the ofw mailing list