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

Reply via email to