On Nov 8, 2011, at 17:56 , Paul H. Hargrove wrote: > In theory, might a sufficiently smart compiler and linker eliminate some > MPIR_* variables after optimization?
Even if a compiler can optimize out symbols from an application, I doubt they are allowed to apply the same optimization on libraries. As our MPIR_ symbols are defined as externally visible in libopen-rte.so (and some in libmpi.so), so I guess we're safe. However, this might be an issue when we compile statically … It is not an absolute proof, but I quickly checked with a static build and the MPIR_* symbols are still there with both gcc and icc. > If that could potentially be true, then perhaps the volatile qualifier would > prevent such a removal, which would break the existence check(s) by the > debugger? Just a thought. If we really want to have a clear answer to this, I guess we should ask a hard-core compiler guru about … george. > > -Paul > > On 11/8/2011 2:46 PM, George Bosilca wrote: >> This value is not even read by the debugger. It only check for it's >> existence in the startup process, so I guess we're safe here as well. > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > HPC Research Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel