./configure --with-platform=contrib/platform/$name will apply all patches
found in contrib/platform/$name.patches/ directory during "configure" phase.
It allows vendors to distribute not-accepted or vendor-specific patches as
part of standard ompi tarball and reduce burden of keeping private repos.
Added:
* VPATH support
* $srcdir/.platform_patches file created if patches already applied
* configure will fail with error if patch cannot be applied (using dry-run)
* configure will fail if patches modifying *.[am,m4] files (unsupported)
* remove unused patch_errors var
* set with_ident_string if platform file applied patches
Otherwise libpciaccess sends a big error message to stderr:
Error opening /devices/pci@0,0:reg: Permission denied
(cherry picked from commit open-mpi/hwloc@d93c7c0960)
Fixes CID 1323841: Logically dead code
Wrong value in conditional. Should be newcomp not newcomm.
Fixes CID 1269762: Explicit null dereference
ompi_group_incl could return an error and not set local_group. Add a
check to ensure ompi_group_incl succeeded before incrementing the proc
count.
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Fix CID 1315271: Constant expression result
The intent of this conditional is to not produce a peruse event for
probe or mprobe requests. Coverity is correct that the expression is
always true. Changed the || to && to fix. Also moved the conditional
within an OMPI_WANT_PERUSE to ensure the conditional is not evaluated
if peruse is disabled.
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Fixed CID 1269712, 1269709, 1269706, 1269703, 1269694: Logically dead code
Remove extra NULL check as OMPI_OSC_PT2PT_REQUEST_ALLOC can never set the
request to NULL.
Fixes CID 1269668: Unchecked return value
False positive. Add (void) to indicate we do not care about the return code
from opal_hash_table_get_uint32.
Fixes CID 1324726: Free of address-of expression
Do not free lock if it was not allocated.
Fixes CID 1269658: Free of address-of expression
Never will happen but because op is always a built-in op there is no
reason to retain/release it anyway.
Signed-off-by: Nathan Hjelm <hjelmn@me.com>
The tkr m4's fortran couldn't be compiled
by gfortran. pointer assignment followed by
variabl definition didn't compile.
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
The Intel 2016 compiler suite apparently only partially supports the
!GCC pragmas (prior versions either didn't support it at all, or our
existing configure test was sufficient to disqualify !GCC pragma
support when compiling with the Intel compiler).
With the existing configure test, the Intel 2016 compiler suite would
*pass* the test and therefore think that it could use !GCC as the
"ignore TKR" pragma. However, the "!GCC ATTRIBUTES NO_ARG_CHECK"
pragma doesn't work with scalar integers (although it seems to work
for the other types in this test).
This commit adds a scalar integer test to the ignore TKR pragma
configure test, which is enough to make the Intel 2016 compiler suite
fail with !GCC (this then allows configure to advance on to trying the
!DEC pragma, which *does* work properly with the Intel 2016 compiler
suite).
Thanks to Fabrice Roy for reporting the problem.
Fixesopen-mpi/ompi#937.
In the default mode of operation, the Portals4 components support
dynamic add_procs().
The Portals4 components have two alternate modes (flow control and
logical-to-physical) that require knowledge of all procs at startup.
In these modes, mtl-portals4 sets the MCA_MTL_BASE_FLAG_REQUIRE_WORLD
flag and btl-portals4 sets the MCA_BTL_FLAGS_SINGLE_ADD_PROCS flag
to tell the PML that we need all the procs in one add_procs() call.