- in kmp_csupport.c, move computation of parameters only needed for OMPT tracing inside a conditional to reduce overhead if not receiving ompt_event_master_begin callbacks.
- in kmp_gsupport.c
- remove spurious reset of OMPT reenter_runtime_frame (which is set in its caller, GOMP_parallel_start
- correct placement of #if OMP_TRACE so that state is maintained even if tracing support not included.
- in z_Linux_util.c
- add architecture independent support for OMPT by setting and resetting OMPT's exit_frame_ptr before and after invoking a microtask.
- On the Intel MIC, the loader refuses to retain static symbols in the libomp.so shared library, even though tools need them. The loader could not be bullied into doing so. To accommodate this, I changed the visibility of OMPT placeholder functions to public. This required additions in exports.so.txt, adding extern "C" scoping in ompt-general.c so that the public placeholder symbols won't be mangled.
It looks generally fine, but I am nervous about putting the ompt state placeholders in OpenMP's namespace (by giving them thename prefix "omp_" ). Is there a reason not to name them "ompt_", which would move them into our namespace?