[Openmp-commits] [PATCH] D90078: [OpenMP] Fix potentially inconsistent OMPT return address

Joachim Protze via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Tue Oct 27 16:06:32 PDT 2020


protze.joachim added a comment.

This will break many cases, where GOMP or even kmp functions call external kmpc functions rather than only internal kmp functions. In such case, the return address will point to the runtime function.
The idea of the macro is to ensure that only the first entry to the runtime will set the address.
Before we can make this change (and I would be more than happy about this change ;), we need to make sure, that no runtime code calls the external __kmpc interface (at least, if the external function tries to store the return address).

Examples for calls to __kmpc functions in the runtime code:

https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp_runtime.cpp#L1515
https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp_runtime.cpp#L1745
https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp_runtime.cpp#L2352

https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp_tasking.cpp#L2339

And many calls in the GOMP interface implementation:
https://github.com/llvm/llvm-project/blob/master/openmp/runtime/src/kmp_gsupport.cpp


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90078/new/

https://reviews.llvm.org/D90078



More information about the Openmp-commits mailing list