Red Hat Bugzilla – Bug 65449
function __on_exit is not defined in the glibc shared library
Last modified: 2016-11-24 10:05:30 EST
From Bugzilla Helper:
User-Agent: Mozilla/4.75 [en] (Windows NT 5.0; U)
Description of problem:
On the latest RedHat 7.3 in the glibc-2.2.5-34
the symbol __on_exit is not defined in /lib/libc.so.6
__on_exit was defined in previous versions of glibc and also in the
We need to ship a modified pthread library with our product so we have to understand this difference.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Start the IBM Informix Dynamic Server Version 9.30 eg oninit -V
2.ld.so complains that the symbol __on_exit is undefined
3.This product runs on all RedHat version previus 7.3
__on_exit has always been a glibc private symbol, exported from glibc only
so that other shared libs which are part of glibc can call it.
The latest glibc enforces this through GLIBC_PRIVATE version.
(Note that __on_exit has never been declared in any glibc headers nor
mentioned in documentation).
Libraries/binaries which are not part of glibc should never use it (should use
e.g. on_exit instead which is the exported/declared/documented interface).
The change to make this function GLIBC_PRIVATE is only in the RedHat version!!
I have dowloded the glibc 2.2.90 where this change is NOT done!!
It seems RedHat is the only vendor with this change.
No, the change is in the current glibc CVS, see:
The change FYI was: