One very straightforward way to solve the problem, requiring no unusual
features in the compiler and linker, is just to build two complete copies of
the MPI library, one in which every function has the prefix MPI and the
other in which every function has the prefix PMPI. Then if the user
code, profiling library, ``PMPI'' library, and MPI library are presented to
the linker in that order, references will be resolved as in
Figure 1.