Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 Sep 1998 16:30:11 -0700
From:      John Polstra <jdp@polstra.com>
To:        Brian Feldman <green@unixhelp.org>
Cc:        current@FreeBSD.ORG
Subject:   Re: E-day problems: rtld-elf dlsym() broken? 
Message-ID:  <199809012330.QAA16019@austin.polstra.com>
In-Reply-To: Your message of "Tue, 01 Sep 1998 15:20:45 EDT." <Pine.BSF.4.02.9809011511060.28074-100000@zone.syracuse.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Actually, no. The program does no munging of the input at all, it looks up
> with or without the _, whichever you input by typing "lookup
> whatever\n"... it's not my program's fault, watch:

OK, I looked at your source.  It's failing because the dynamic
linker doesn't handle the way you're calling dlsym, with a NULL
first argument:

        if ((void *)index(line, '\0') < line + 8 ||
            (lameptr = (void *)dlsym(NULL, baz = (char *)line + 7)) == NULL)
                printf("%s: not found\n", *baz ? baz : "");

It's true that's documented in dlsym(3), so I guess I'll have to
support it.  The original SunOS manual also documents it, but
Solaris makes no mention of it.

I'll fix it.

John
--
   John Polstra                                       jdp@polstra.com
   John D. Polstra & Co., Inc.                Seattle, Washington USA
   "Self-knowledge is always bad news."                 -- John Barth

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809012330.QAA16019>