This is the mail archive of the libc-alpha@sourceware.cygnus.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: [Various] libc/1609: Error in 'make check' origtest with testobj1.so


>>>>> 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

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