[Bug c++/60731] New: dynamic library not getting reinitialized on multiple calls to dlopen()
tim.moloney at mrsl dot com
gcc-bugzilla@gcc.gnu.org
Tue Apr 1 17:01:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60731
Bug ID: 60731
Summary: dynamic library not getting reinitialized on multiple
calls to dlopen()
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: tim.moloney at mrsl dot com
Created attachment 32518
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32518&action=edit
Example showing failure to initialize a dynamic library after multiple calls to
dlopen().
If a dynamic library is loaded multiple times via dlopen(), subsequent loads do
not correctly initialize static variables under the following conditions:
1) A class/struct with a constructor
2) with an inlined function
3) containing a static variable.
Please run the attached example.
# tar xf gcc_static_issue.tgz
# cd gcc_static_issue
# make
# ./test_static
Expected behavior (as on RHEL5, g++ 4.1.2):
Type 'q' to exit or enter to reload/run the DLL
count:1
count:1
count:1
count:1
count:1
q
#
Actual behavior (as on RHEL6 and RHEL7beta, g++ 4.4.7 and 4.8.2, respectively):
Type 'q' to exit or enter to reload/run the DLL
count:1
count:2
count:3
count:4
count:5
q
#
More information about the Gcc-bugs
mailing list