[Top][All Lists]
[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__/