GCC compatibility


With their latest release, GCC have added a pile of new entrypoints into libgomp which we don’t yet support.

Since we clearly want to preserve the ability to run GCC compiled code (heck, ARM were bragging about how much netter the LLVM runtime is than libgomp on The Next Platform just recently!), we need between us to spend some effort to implement the new interfaces.

Here at Intel we may be able to find some effort to do implementation work, but, for reasons of IP contamination paranoia, we’re not allowed to read the libgomp code, and the libgomp documentation doesn’t seem to have caught up with the code. (There’s no mention of tasks, there, for instance).

Paul Osmialowski just added one patch which helps a little with task dependencies, but we’re missing a lot more…

Therefore what we really need (assuming no-one is going to leap in and implement all of the missing functions [my pink birthday unicorns have never arrived yet :-)]) would be if someone could contribute improved documentation to libgomp, so that it documents all of the new functions. Then it’s much easier for people who aren’t allowed to read the libgomp code to implement the shims we’ll need here.

Using objdump it looks as if we’re missing the set of symbols below, though some of those may be Fortran specific, (doacross sounds suspiciously Fortran-ish!and others associated with TARGET where we’re not compatible anyway.

Opinions? Volunteers?


– Jim

Jim Cownie james.h.cownie@intel.com
SSG/DPD/TCAR (Technical Computing, Analyzers and Runtimes)

Tel: +44 117 9071438

Version function/symboal