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