On Wed, Mar 14, 2018 at 06:01:20PM +0100, Martin Jambor wrote: > Hello Siyuan, > > On Mon, Mar 12 2018, LIU SIYUAN wrote: > > Dear all, > > > > Hi, my name is Siyuan and this is my first time using the GCC mailing list! > > Welcome!
Yeah, welcome. > For the OMPD task, you will primarily want to look at the OMP run-time > that is in the libgomp subdirectory (and on the libgomp.exp part of the > testsuite). You will probably also want to have a look at how to build > GDB. > > The OMPD itself is described in the latest TR of the upcoming version of > the OpenMP standard: > http://www.openmp.org/wp-content/uploads/openmp-TR6.pdf > > I assume that once you familiarize with the standard and look at how the > OpenMP run-time is organized (at least roughly), you will want to reach > out to Jakub (CCed) to figure out how to structure your work. The task would be to add the libgompd.so.1 library and header files which implement the APIs in the 4.2 OMPD section of the above spec (and any further changes that get ratified into upcoming OpenMP 5.0) and any necessary changes on the libgomp.so.1 side needed for that. For the latter, it is important to make sure the changes don't slow the runtime down, or don't slow it down significantly if there is no other way, and it would be nice to use some framework like https://infinitynotes.org/wiki/Infinity to communicate structure offsets, flags, etc. between the libgompd.so.1 and libgomp.so.1, so that if possible a debugger could bypass the plugin library and e.g. for performance reasons use the bytecode directly or that one version of the plugin can deal with slightly different version of the runtime library (e.g. for the case of running debugger in one platform and gdb server + libgomp on another one). Jakub