[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2a2-93-g6ce38c2

Service Account noreply at mpich.org
Tue Jan 6 14:14:05 CST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  6ce38c2783d2839884f83db4a15e46535a13950b (commit)
      from  64f60754dc48835e8f049e623f6aebf699d44f7a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/6ce38c2783d2839884f83db4a15e46535a13950b

commit 6ce38c2783d2839884f83db4a15e46535a13950b
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date:   Wed Dec 17 16:15:20 2014 -0600

    Fortran profiling interface fix
    
    Previous re-organization of the library symbols resulted in a
    situation where Fortran programs could no longer be profiled using
    tools written in C. Functions in libmpifort directly called the
    PMPI_* versions in libmpi.
    
    Now we always call the MPI_* versions from libmpifort. In the case
    where we are building a separate profiling library, we use a new
    preprocessor flag to ensure we call PMPI_* from inside libpmpi.
    
    Additional bug fix:
      - always define mpi_conversion_fn_null_, there is no pmpi version
    
    Fixes #2209
    
    Signed-off-by: Junchao Zhang <jczhang at mcs.anl.gov>

diff --git a/Makefile.am b/Makefile.am
index 818f60d..463bfe4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -150,6 +150,7 @@ if BUILD_PROFILING_LIB
 lib_LTLIBRARIES += lib/lib at PMPILIBNAME@.la
 lib_lib at PMPILIBNAME@_la_SOURCES = $(mpi_sources) $(mpi_f77_sources) $(mpi_core_sources)
 lib_lib at PMPILIBNAME@_la_LDFLAGS = $(external_ldflags) $(ABIVERSIONFLAGS)
+lib_lib at PMPILIBNAME@_la_CPPFLAGS = $(AM_CPPFLAGS) -DF77_USE_PMPI
 lib_lib at PMPILIBNAME@_la_LIBADD = $(external_libs) $(pmpi_convenience_libs)
 EXTRA_lib_lib at PMPILIBNAME@_la_DEPENDENCIES = $(pmpi_convenience_libs)
 
diff --git a/src/binding/fortran/mpif_h/buildiface b/src/binding/fortran/mpif_h/buildiface
index f6803fe..ba75a71 100755
--- a/src/binding/fortran/mpif_h/buildiface
+++ b/src/binding/fortran/mpif_h/buildiface
@@ -1370,11 +1370,13 @@ sub print_name_map_block {
 #define ${lcprefix}${lcname}_ p${lcprefix}${lcname}_
 #endif /* Test on name mapping */
 
+#ifdef F77_USE_PMPI
 /* This defines the routine that we call, which must be the PMPI version
    since we're renaming the Fortran entry as the pmpi version.  The MPI name
    must be undefined first to prevent any conflicts with previous renamings. */
 #undef ${ucprefix}${routine_name}
 #define ${ucprefix}${routine_name} P${ucprefix}${routine_name} 
+#endif
 
 #else
 ";
@@ -5379,12 +5381,10 @@ extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null_ ( void*v1, MPI_Fint*v
 
 #endif
 
-#ifndef MPICH_MPI_FROM_PMPI
 /* This isn't a callable function */
 FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null_ ( void*v1, MPI_Fint*v2, MPI_Fint*v3, void*v4, MPI_Offset*v5, MPI_Fint *v6, MPI_Fint*v7, MPI_Fint *ierr ) {
     return 0;
 }
-#endif
 
 ";
 

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                           |    1 +
 src/binding/fortran/mpif_h/buildiface |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list