|
Berkeley UPC - Unified Parallel C
(A joint project of LBNL and UC Berkeley)
|
|
Berkeley UPC v2.8.0 Runtime patch 1: X86_64 cmpxchg16b
This patch fixes runtime crashes (SIGSEGV) due to insufficent alignment
of arguments to the cmpxchg16b instruction present on many recent
x86_64 processors.
If you have seen UPC applications or GASNet tests fail with a Segmentation Violation
(SIGSEGV), you may be seeing this bug (though appliction errors can also lead to a
SIGSEGV). To see if you may be affected by this bug, you can run the following
command in either your Build or Installation directory for Berkeley UPC 2.8.0:
find . -name gasnet_config.h | xargs grep 'define GASNETI_HAVE_X86_CMPXCHG16B'
If your output contains any matching lines, then you should apply this patch. If your
output does not show any matching lines, then you are not affected.
Instructions:
- Download the Berkeley UPC 2.8.0 runtime source release tarball from http://upc.lbl.gov.
- Extract the source tarball to a directory on your harddrive.
- Download and save the
Berkeley UPC Runtime v2.8.0 patch 1
patch file to the same directory.
- Patch the source files with the following command:
patch -p0 < berkeley_upc-2.8.0-patch1.txt
You should see output something like this:
patching file gasnet/gasnet_syncops.h
patching file gasnet/gasnet_atomic_bits.h
patching file gasnet/tests/testgasnet.c
- Build and install the source distribution as usual.
This page last modified on Monday, 23-Mar-2009 14:56:49 PDT