[ofw] Problem in building opensm with the 6001 compiler

Tzachi Dar tzachid at mellanox.co.il
Thu Sep 2 07:14:30 PDT 2010


Hi,

It seems that we are having a problem to build our code with the 6001 compiler (on 2003-64 bits).
The problem is on the file osm_vendor_ibumad.c line 89 and 185

We saw that the files can be built with the new compiler, but we believe that there is a real problem here:
osmv_query_req_t *p_query_req_copy = NULL;
...

                /* obtain the sent context since we store it during send in the ni_ctx */
                p_query_req_copy =
                    (osmv_query_req_t *) (long *)(long)(p_req_madw->context.ni_context.
                                                                                                node_guid);


We start with a node_guid that is 64 bits convert it to long that is 32 bits,  (information is lost).
Next we move to 64 bits (no data lost) and then we put it on p_query_req_copy.

Please note that since we end with a pointer, it is not clear what should happen, since on 32 bits, information will be lost.

Thanks
Tzachi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20100902/7392d910/attachment.html>


More information about the ofw mailing list