On Apr 29, 2011, at 4:09 PM, Paul H. Hargrove wrote: >> lib_mpif90.so had changes for the upcoming 1.4.4 release that requires a .so >> version bump. Specifically, some MPI F90 bindings used to have some >> parameters of type INTEGER. In 1.4.4, those parameter types were corrected >> to be INTEGER(KIND=MPI_ADDRESS_KIND). > > You are thinking of the so-versions problem as if the change above is an ABI > change. However, one could claim at a stretch that the entire 1.3.x and > 1.4.x series implements the ABI present in the specification/documentation > and in 1.4.4; and thus that the older versions contain a BUGGY implementation > of the always-intended INTEGER(KIND=MPI_ADDRESS_KIND) ABI for the "large" F90 > bindings. > > Under that reasoning I would endorse: > >> 2. Go with 0:2:0.
Good reasoning. I think it would actually be 0:2:1 in that case...? >> IMPACT: Same as above. A binary using the old/wrong interfaces (e.g., >> compiled against 1.4.3) could still run-time link against OMPI 1.4.4 and >> possibly segv because the parameters are different sizes. > > I am unclear on how a binary linked to <=1.4.3 that was truncating the > arguments would have worked in the first place. If someone called MPI_SCATTERV with INTEGER sendcounts and displs arguments, it would have compiled / worked with 1.4.3. But if they then change their LD_LIBRARY_PATH to 1.4.4 and re-run the same binary, their actual argument memory should be shorter than what is necessary because the 1.4.4 sendcounts / displs type is INTEGER(KIND=MPI_ADDRESS_KIND). -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/