This is the mail archive of the
mailing list for the glibc project.
Re: [Various] libc/1609: Error in 'make check' origtest with testobj1.so
- To: drepper at cygnus dot com (Ulrich Drepper)
- Subject: Re: [Various] libc/1609: Error in 'make check' origtest with testobj1.so
- From: Andreas Jaeger <aj at suse dot de>
- Date: 29 Feb 2000 07:50:16 +0100
- Cc: Solar Designer <solar at false dot com>, jrenken at sandwich dot net (James Renken), libc-alpha at sourceware dot cygnus dot com
- References: <200002290020.DAA00477@false.com> <firstname.lastname@example.org>
>>>>> Ulrich Drepper writes:
Ulrich> Solar Designer <email@example.com> writes:
>> This can cause some application bugs or limitations to show up.
>> This can well be a bug in my code, I'm just pointing out that we
>> can't be sure of that, yet.
Ulrich> There are no such dependencies. We use the same code on different
Ulrich> platforms which use different shared lib positions. Also, loading
Ulrich> shared objects (including ld.so) in different orders gives different
Ulrich> load addresses. I'm pretty sure this cannot be the problem.
When debugging the problem, I noticed that the following piece of code
from dl-open seemed to assign the wrong address:
/* We have to find out from which object the caller is calling.
Find the highest-addressed object that ADDRESS is not below. */
call_map = NULL;
for (l = _dl_loaded; l; l = l->l_next)
if (l->l_addr != 0 /* Make sure we do not currently set this map up
in this moment. */
&& caller >= (const void *) l->l_addr
&& (call_map == NULL || call_map->l_addr < l->l_addr))
call_map = l;
SuSE Labs firstname.lastname@example.org