On Wed, Jun 24, 2020 at 11:11:47AM -0400, y2s1982 . wrote:
> > And introduce libgompd.map version script which will have the exported
> > symbols in for now OMPD_5.0 symbol version.
> > So
> > OMPD_5.0 {
> >   global:
> >         ...;
> >
> >   local:
> >         *;
> > };
> >
> 
> Oh I wasn't sure how everything worked yet, so I thought to borrow libomp
> scripts as a placeholder for now.
> I will change them to libompd scripts.
> As for mapping, could you point me to an example that has global: and
> local: object as above?

See libgomp.map or
info ld
and search for VERSION command.

> > So, what actually includes that header?  Otherwise it can't compile.
> >
> I forgot to uncomment that. I put that in there to see other compilation
> errors.  I am still having trouble generating compilation errors using make.
> I tried creating a separate directory outside of the source, calling
> ../gcc/configure, and trying make libgomp.
> It did not generate any output other than "make: Nothing to do be for
> '../gcc/libgomp'".  I wasn't sure what else to try.

Just build the whole gcc tree.
If you are at the toplevel of gcc tree (i.e. directory that contains libgomp
subdirectory), do
mkdir obj
cd obj
../configure --disable-bootstrap --enable-languages=c,c++,fortran
make -j16 # or how many cores or threads you have

later on you can just
cd x86_64-*-linux*/libgomp
and in there
make -j16
make -k check

> Thank you. I will try harder to follow the formatting.  When you say
> indentation level, do you mean the number of spaces?

Yes, except that 8 consecutive spaces should be replaced by tab character.
So like:
{
  if (...)
    {
      if (...)
        {
          if (...)
            {
              ...
            }
          ...
        }
      ...
    }
}

> Thank you for the clarification. Should I change the declaration and put
> the definition of ompd_dll_locations variable in the omp-tools.h?

Variables shouldn't be defined in header files, they should be just declared
there (but I think ompd_dll_locations actually isn't required to be declared
in a header, all one needs to ensure is that it is exported from the shared
library (i.e. it is not static, and libgompd.map has ompd_dll_locations;
entry for it in global: section).

        Jakub

Reply via email to