John Polstra wrote:
> In article <[EMAIL PROTECTED]>,
> Maxim Sobolev <[EMAIL PROTECTED]> 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.
But this is the way how some programs work and our previous implementation was OK
with that.
> > 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.
Please do, because I heard that this broke several ports, so it should be resolved
as soon as possible, probably even by backing out appropriate changes from the
-stable.
-Maxim
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message