I made some tests using gcc version 4.2.0 20060708 (experimental) to see if I can make use of the OpenMP feature and libgomp in my data processing environment. This environment runs on Unix systems (here: Linux) and consists of a main program and several .so plugins that do the actual work. If I use libgomp I cannot load these plugins any more because libgomp is built with "-z nodlopen". From libgomp/configure.tgt:
# Optimize TLS usage by avoiding the overhead of dynamic allocation. # This does require that the library be present during process # startup, so mark the library as not to be dlopened. if test $have_tls = yes && test "$with_gnu_ld" = "yes"; then XCFLAGS="${XCFLAGS} -ftls-model=initial-exec" XLDFLAGS="${XLDFLAGS} -Wl,-z,nodlopen" fi I guess that for some uses this really makes sense but I didn't find this documented anywhere and had to post to newsgroups to get someone to help me find this. I suggest you remove this and add a configure switch instead. -- Summary: Cannot use libgomp in shared library Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgomp AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mozilla at weilbacher dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28482