aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/patches/valgrind-3.15.0-mpi-fix1.patch
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce/software/patches/valgrind-3.15.0-mpi-fix1.patch')
-rw-r--r--reproduce/software/patches/valgrind-3.15.0-mpi-fix1.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/reproduce/software/patches/valgrind-3.15.0-mpi-fix1.patch b/reproduce/software/patches/valgrind-3.15.0-mpi-fix1.patch
new file mode 100644
index 0000000..94dcab5
--- /dev/null
+++ b/reproduce/software/patches/valgrind-3.15.0-mpi-fix1.patch
@@ -0,0 +1,37 @@
+---
+ mpi/libmpiwrap.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+ Patch by Samuel Thibault:
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946329;msg=10
+ and hacked further by Boud Roukema 2020-05-10.
+--- a/mpi/libmpiwrap.c
++++ b/mpi/libmpiwrap.c
+@@ -278,8 +278,12 @@ static void showTy ( FILE* f, MPI_Dataty
+ else if (ty == MPI_LONG_INT) fprintf(f,"LONG_INT");
+ else if (ty == MPI_SHORT_INT) fprintf(f,"SHORT_INT");
+ else if (ty == MPI_2INT) fprintf(f,"2INT");
++# if defined(MPI_UB_ENABLED_IN_MPI1)
+ else if (ty == MPI_UB) fprintf(f,"UB");
++# endif
++# if defined(MPI_LB_ENABLED_IN_MPI1)
+ else if (ty == MPI_LB) fprintf(f,"LB");
++# endif
+ # if defined(MPI_WCHAR)
+ else if (ty == MPI_WCHAR) fprintf(f,"WCHAR");
+ # endif
+@@ -733,8 +737,14 @@ void walk_type ( void(*f)(void*,long), c
+ f(base + offsetof(Ty,loc), sizeof(int));
+ return;
+ }
+- if (ty == MPI_LB || ty == MPI_UB)
++#if defined(MPI_LB_ENABLED_IN_MPI1)
++ if (ty == MPI_LB)
++ return; /* have zero size, so nothing needs to be done */
++#endif
++#if defined(MPI_UB_ENABLED_IN_MPI1)
++ if (ty == MPI_UB)
+ return; /* have zero size, so nothing needs to be done */
++#endif
+ goto unhandled;
+ /*NOTREACHED*/
+ }