Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Nov 2000 07:31:57 -0800 (PST)
From:      John Polstra <jdp@polstra.com>
To:        current@freebsd.org
Cc:        sobomax@freebsd.org
Subject:   Re: Problem with dlopen()/dlsym() after recent crt* changes
Message-ID:  <200011061531.eA6FVv821977@vashon.polstra.com>
In-Reply-To: <3A066572.2CF3D7BC@FreeBSD.org>
References:  <3A066572.2CF3D7BC@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <3A066572.2CF3D7BC@FreeBSD.org>,
Maxim Sobolev  <sobomax@FreeBSD.ORG> wrote:
> After the crt changes the following piece of code, which worked previously,
> gives a 'host: dlopen() failed: ./module.so: Undefined symbol
> "__register_frame_info' error message (yeah, I know that it's better to check
> handle == NULL first, but it's the way some apps work).
> 
>  handle = dlopen("./module.so", RTLD_LAZY);
>  if ((error = dlerror()) != NULL)
>  {
>   errx(1, "dlopen() failed: %s", error);
>   /* Not reached */
>  }

I personally think this code is broken.  It's analogous to checking
errno without first testing a system call's return value.

> The full sources of this testcase can be found at:
> http://people.freebsd.org/~sobomax/dlbug.tar.gz .

OK, thanks.  I'll take a look at it as soon as I can -- hopefully
tonight.  If I can come up with a reasonable work-around, I'll do so.

John
-- 
  John Polstra                                               jdp@polstra.com
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Disappointment is a good sign of basic intelligence."  -- Chögyam Trungpa



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?200011061531.eA6FVv821977>