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]

Re: Problem with removing atexit.


On Tue, May 01, 2001 at 08:16:24AM -0700, H . J . Lu wrote:
> 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?

This seems to be the same problem I ran into on non-i386, with a gcc
that didn't have the weaksym patch. It's not a compatibility problem,
it's a bug in gcc. The DSO's need to be recompiled with a recent gcc
(2.95.4 from CVS, or gcc-3.x)

Ben

-- 
 -----------=======-=-======-=========-----------=====------------=-=------
/  Ben Collins  --  ...on that fantastic voyage...  --  Debian GNU/Linux   \
`  bcollins@debian.org  --  bcollins@openldap.org  --  bcollins@linux.com  '
 `---=========------=======-------------=-=-----=-===-======-------=--=---'


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