This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Exporting new libgomp functions
- From: Ian Lance Taylor <iant at google dot com>
- To: Amittai Aviram <amittai dot aviram at yale dot edu>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Wed, 12 Jan 2011 10:57:43 -0800
- Subject: Re: Exporting new libgomp functions
- References: <F0C0C8B6-7B69-443A-9B12-984F82A98CC5@yale.edu>
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