libtool
[Top][All Lists]
Advanced

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

Re: make check failures


From: Gary V . Vaughan
Subject: Re: make check failures
Date: Tue, 17 Jul 2001 20:14:11 +0100

On Tuesday 17 July 2001 12:00 pm, Patrick Welche wrote:
> A quick look says that in ltdl.c, presym_open() if you get there with a
> call to lt_dlopen(0), filename is null, so
>
>   if (!filename)
>     {
>       filename = "@PROGRAM@";
>     }
>
> then later:
>
>           if (!syms->address && strcmp(syms->name, filename) == 0)
>
> as address==0, we look for syms->name == "@PROGRAM@", but name is things
> like "libfoo2_LTX_nothing" or "libsub.a".. Unless the problem is that
> @PROGRAM@ should get substituted? (All I did was run mdemo.static with no
> arguments)

Nup.  What you describe is perfectly normal.  As the table of preloaded 
symbols is built, each module that provides some symbols is also listed in 
lt_preloaded_symbols[], with the address field set to `(lt_ptr) 0', and the 
name field set to the name of the module.  Strictly speaking for lt_dlopen(0)
to work we would do the same, except that the marker for the end of the table 
is NULL in both fields, so we chose an unlikely module name to mark the start 
of the symbols extracted from the program itself -- @address@hidden

> (BTW I just came across ltdl.c:1783 LT_DLFREE (canonical), canonical=6(!) )

Huh?  As far as I can tell by code inspection that can only happen if the 
user_search_path is set to 6... clearly, something is very wrong...

> I suppose the main question is: Is it just me?

Not necessarily.  Though no-one else has complained of problems on NetBSD.  
Let me know if you get to the bottom of this.

Cheers,
        Gary.
-- 
  ())_. Gary V. Vaughan     gary@(oranda.demon.co.uk|gnu.org)
  ( '/  Research Scientist  http://www.oranda.demon.co.uk       ,_())____
  / )=  GNU Hacker          http://www.gnu.org/software/libtool  \'      `&
`(_~)_  Tech' Author        http://sources.redhat.com/autobook   =`---d__/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]