[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: __libc_stack_end



Hello Hans,

> I think there are two issues here:
> 
> 1) As far as I can tell, Ulrich Drepper went on a crusade to stop exporting symbols such as this from glibc, since clients shouldn't be referring to them.  It would have been nice if he had ensured that better solutions were available before he did so.  __libc_stack_end should only be a minor issue, since the same information is available from /proc, and recent versions of the collector should get it from there if __libc_stack_end is not defined.  Thus this should only add start up overhead and break if /proc isn't mounted.  I am more concerned about __libc_ia64_register_backing_store_base, which now falls back to a constant displacement from the stack pointer, which is really ugly.  And I'm concerned about future breakage due to kernel changes.
> 
> 2) You are probably using an old version of the collector?  __libc_stack_end should be referenced as a weak symbol?  Can you check that with nm?
I was just forwarding a mail from people at Debian. Since that mail I have
received the following:

-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
On Tue, Oct 22, 2002 at 06:45:13PM -0700, Joseph Donaldson wrote:
> Yan,
> I just downloaded the latest beta version of bigloo
> and recompiled it with libc6 2.3. I no longer recieve
> any error messages when i use the compiler. It appears
> that a simple recompilation may be the only thing
> needed to fix this problem.


But then, it is surely not the bigloo package which caused the problem
(except maybe if there's a conditional in libgc).  Where does this
reference to this undocumented symbol comes from ?  Doesn't it come
from some glibc header ?  Maybe they just overlooked something when
they decided to hide the symbol ?
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----

-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
On Wed, Oct 23, 2002 at 10:18:48PM +0200, Yann Dirson wrote:

> > I just downloaded the latest beta version of bigloo and recompiled
> > it with libc6 2.3. I no longer recieve any error messages when i
> > use the compiler. It appears that a simple recompilation may be
> > the only thing needed to fix this problem.

> But then, it is surely not the bigloo package which caused the
> problem (except maybe if there's a conditional in libgc).  Where
> does this reference to this undocumented symbol comes from ?
> Doesn't it come from some glibc header ?  Maybe they just overlooked
> something when they decided to hide the symbol ?

Something in bigloo uses an undocumented feature in glibc.  That
feature doesn't exist anymore.  The function specifically was never
documented, nor did it ever appear in a header.

I haven't looked into it beyond that.
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----

Anyhow, in the new Bigloo version (the 2.5c beta) I'm using 6.1 and:

-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
redrock:.../lib/2.5c> nm libbigloogc-2.5c.a | grep __libc_stack_end
         w __libc_stack_end
-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----

-- 
Manuel



Reply to: