This is the mail archive of the
mailing list for the libc-ports project.
Re: do-lookup.h regarding to mips/dlsym and libstdc++
- From: Daniel Jacobowitz <dan at debian dot org>
- To: Yoriko Komatsuzaki <yoriko at sm dot sony dot co dot jp>, Chris Friesen <cfriesen at nortel dot com>
- Cc: libc-ports <libc-ports at sourceware dot org>, linux-mips at linux-mips dot org
- Date: Wed, 2 Jul 2008 08:47:22 -0400
- Subject: Re: do-lookup.h regarding to mips/dlsym and libstdc++
- References: <483AF8BC.email@example.com> <20080129132739.5D6B.YORIKO@sm.sony.co.jp>
On Tue, Jan 29, 2008 at 01:32:20PM +0900, Yoriko Komatsuzaki wrote:
> Because even though UNDEF symbol is found,
> it can process as global symbol for the rare occasion.
> This phenomena is showed only in mips. When libstdc++ is linked in
> proior libc, the malloc's entry in libstdc++ MIPS.stubs table seemed to
> be recognized as the malloc global symbol ...
> How do you feel about it?
On Mon, May 26, 2008 at 11:51:56AM -0600, Chris Friesen wrote:
> On MIPS, the DEFAULT returns the address of this libraries undefined
> symbol for the extern and NEXT returns our external procedure. Putting
> in a second RTLD_NEXT call returned the real sigaction address.
> This worked for most procedures we are looking for. However, during
> booting, we have an app that uses a specific library which has an extern
> for sigaction as well and now in the preloaded code we need a fourth call
> to dlsym to skip that one.
This bug is fixed as a by-product of support for non-PIC MIPS
executables. Either Richard's patch or CodeSourcery's, applied to
glibc, should suffice. It'll be another week or two at least before
they're applied to CVS, but in the mean time you can find them here: