I have the Sun/Oracle Studio compilers installed on Linux/x86-64 systems. I test versions 12.2 and 12.4 with "-m32". I both of those builds "make check" is failing with a SEGV from dlopen_test. This is an improvement over the previous rc3, which did not build at all.
>From the core file on the Studio 12.4 system (the other is the same) Program terminated with signal 11, Segmentation fault. #0 0xf6373da7 in flush_and_invalidate_cache (a=4127109984) at /scratch/phargrov/OMPI/openmpi-2.0.0rc4-linux-x86_64-ss12u4-m32/openmpi-2.0.0rc4/opal/mca/patcher/base/patcher_base_patch.c:96 96 have_clflush = !!(cpuid2 & (1 << 19)); (gdb) where #0 0xf6373da7 in flush_and_invalidate_cache (a=4127109984) at /scratch/phargrov/OMPI/openmpi-2.0.0rc4-linux-x86_64-ss12u4-m32/openmpi-2.0.0rc4/opal/mca/patcher/base/patcher_base_patch.c:96 #1 0xf6373ed4 in apply_patch (patch_data=0x971b4e0 "\351\033\277\066", address=4127109984, data_size=5) at /scratch/phargrov/OMPI/openmpi-2.0.0rc4-linux-x86_64-ss12u4-m32/openmpi-2.0.0rc4/opal/mca/patcher/base/patcher_base_patch.c:138 #2 0xf6373fb8 in mca_base_patcher_patch_apply_binary (patch=0x971b4a8) at /scratch/phargrov/OMPI/openmpi-2.0.0rc4-linux-x86_64-ss12u4-m32/openmpi-2.0.0rc4/opal/mca/patcher/base/patcher_base_patch.c:152 #3 0xf6117e4c in mca_patcher_overwrite_apply_patch (patch=0x971b4a8) at /scratch/phargrov/OMPI/openmpi-2.0.0rc4-linux-x86_64-ss12u4-m32/openmpi-2.0.0rc4/opal/mca/patcher/overwrite/patcher_overwrite_module.c:151 #4 0xf6117ee9 in mca_patcher_overwrite_patch_address (sys_addr=4127109984, hook_addr=4130697856) at /scratch/phargrov/OMPI/openmpi-2.0.0rc4-linux-x86_64-ss12u4-m32/openmpi-2.0.0rc4/opal/mca/patcher/overwrite/patcher_overwrite_module.c:255 #5 0xf6118000 in mca_patcher_overwrite_patch_symbol (func_symbol_name=0xf63e9f2c "munmap", func_new_addr=4130697856, func_old_addr=0xf6404aa0) at /scratch/phargrov/OMPI/openmpi-2.0.0rc4-linux-x86_64-ss12u4-m32/openmpi-2.0.0rc4/opal/mca/patcher/overwrite/patcher_overwrite_module.c:301 #6 0xf635771d in patcher_open () at /scratch/phargrov/OMPI/openmpi-2.0.0rc4-linux-x86_64-ss12u4-m32/openmpi-2.0.0rc4/opal/mca/memory/patcher/memory_patcher_component.c:442 #7 0xf622ecfb in open_components (framework=0xf63fda40) at /scratch/phargrov/OMPI/openmpi-2.0.0rc4-linux-x86_64-ss12u4-m32/openmpi-2.0.0rc4/opal/mca/base/mca_base_components_open.c:117 [...truncated...] Note that gcc, clang and open64 all work fine on this system when configured with -m32. I ran the Studio 12.5 beta (not in my original suite of tests) and do *NOT* see the failure. So, I think a compiler bug is a definite possibility here. However, given the issues seen with xlc, I think is might also be possible that the patcher code could contain "marginal C" with undefined behavior. Note that w/o -m32 all the versions of the Studio Compilers are working fine. So the impact of this issue is pretty small. -Paul -- Paul H. Hargrove phhargr...@lbl.gov Computer Languages & Systems Software (CLaSS) Group Computer Science Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900