Making a new GCC routine visible

Amittai Aviram amittai.aviram@yale.edu
Sat May 19 17:22:00 GMT 2012


I have been developing a special version of OpenMP called DOMP (Deterministic OpenMP),  by changing some of the code in gcc/omp-low.c and by changing libgomp--modifying some files and adding new ones.  One of the new files is a special version of Doug Lea's malloc, with a version of the malloc routine called domp_malloc.  Target programs need to call domp_malloc.  To support this, I took the following steps:

- Defined domp_malloc (and associated routines) in a new file, domp_malloc.c, in libgomp
- Added domp_malloc to libgomp.map, in the list at the top of the OMP 1.0 block with label "global"
- Added domp_malloc.c to libgomp/Makefile.am, reconfigured GCC, and rebuilt--with language support for C, C++, and Fortran.

When I build an OpenMP program in C, using my altered GCC C compiler (gcc), everything works fine: the linker finds the definition of domp_malloc.  However, if I write a C++ program that calls domp_malloc, and try to build it with my special g++, the linker cannot find the definition of domp_malloc, so my build fails.  What else can I do to make domp_malloc visible to the C++ linker?  Thanks!

Amittai

Amittai Aviram
PhD Student in Computer Science
Yale University
646 483 2639
amittai.aviram@yale.edu
http://www.amittai.com



More information about the Gcc-help mailing list