This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Problem with removing atexit.


On Mon, Apr 30, 2001 at 11:58:11PM -0700, Adam J. Richter wrote:
> baldur[501] cd /usr/lib
> baldur[502] objdump --dynamic-sym  libgpm.so libcurses.so | grep atexit
> 00000000      D  *UND*  00000000              atexit
				    ^^^^^^^^^^^^

Here is your problem. You have an unversioned reference to atexit.
Since the default atexit has been removed from libc.so and only
the atexit with version GLIBC_2.0 remains, any references to the
unversioned atexit will get a run-time error or have to be resolved
at the link time. You have to find out why you have unversioned
reference to atexit in DSO. It should only happen if you

1. Build the DSO against glibc 2.0.x. Or
2. Build the DSO without -lc. All the newer gcc should pass -lc to
ld when you do "gcc -shared" unless you tell gcc not to do so.

You have to find out what happened to your DSOs.

Now, the question is, do we provide backward binary compatibility to
DSOs built against glibc 2.0.x? Any comments?


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]