[Various] libc/1609: Error in 'make check' origtest with testobj1.so

Andreas Jaeger aj@suse.de
Mon Feb 28 23:04:00 GMT 2000


>>>>> Ulrich Drepper writes:

Ulrich> Solar Designer <solar@false.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;


Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.rhein-neckar.de


More information about the Libc-alpha mailing list