[Bug c++/60731] [4.7/4.8/4.9 Regression] dynamic library not getting reinitialized on multiple calls to dlopen()
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 2 09:00:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60731
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-04-02
Known to work| |4.4.7
Target Milestone|--- |4.7.4
Summary|dynamic library not getting |[4.7/4.8/4.9 Regression]
|reinitialized on multiple |dynamic library not getting
|calls to dlopen() |reinitialized on multiple
| |calls to dlopen()
Ever confirmed|0 |1
Known to fail| |4.5.4, 4.8.2, 4.9.0
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Works up to GCC 4.4, fails since GCC 4.5. It's not clear what makes the
difference here.
Btw, with LD_DEBUG=all I see
10389: opening file=./static.so [0]; direct_opencount=2
10389:
10389: symbol=routine; lookup in file=./static.so [0]
10389: binding file ./static.so [0] to ./static.so [0]: normal symbol
`routine'
count:2
10389: opening file=./static.so [0]; direct_opencount=3
10389:
10389: symbol=routine; lookup in file=./static.so [0]
10389: binding file ./static.so [0] to ./static.so [0]: normal symbol
`routine'
count:3
so the dlclose call does nothing. While in the working case:
10438:
10438: file=./static.so [0]; dynamically loaded by ./test_static [0]
10438: file=./static.so [0]; generating link map
10438: dynamic: 0x00007ffff6ffede0 base: 0x00007ffff6dfd000 size:
0x00000000002020a8
10438: entry: 0x00007ffff6dfdb10 phdr: 0x00007ffff6dfd040 phnum:
7
....
10438: calling init: ./static.so
10438:
10438: opening file=./static.so [0]; direct_opencount=1
10438:
10438: symbol=routine; lookup in file=./static.so [0]
10438: binding file ./static.so [0] to ./static.so [0]: normal symbol
`routine'
count:1
10438:
10438: calling fini: ./static.so [0]
10438:
10438:
10438: file=./static.so [0]; destroying link map
More information about the Gcc-bugs
mailing list