Exporting new libgomp functions

Ian Lance Taylor iant@google.com
Wed Jan 12 18:57:00 GMT 2011


Amittai Aviram <amittai.aviram@yale.edu> writes:

> I would like to define some new functions in libgomp and make these
> available to applications compiled with GCC with the -fopenmp flag.
> Suppose I want to export function void foo(void).  I had thought that
> I could just define it in, say, foo.c, include foo.c into my build of
> libgomp, and provide a header file in my application with foo's
> signature.  However, when I do this, I get a linker error that the
> application uses an "undefined function."  I have verified that foo.o
> and foo.lo are in my gcc_obj build directory tree, and that the
> definition of "foo" does indeed occur in foo.o (i.e., I can see its
> disassembly using objdump -d).  Now, libgomp already exports a bunch
> of functions, such as omp_get_thread_num, etc.  How can I do the same
> with my new functions?  Thanks!

You need to edit libgomp/libgomp.map to assign an appropriate version to
your new symbol.  All libgomp symbols not mentioned in that file are
hidden in libgomp.so.

Ian



More information about the Gcc-help mailing list