[BRLTTY] dlsym/dlerror (was Re: Clumping all the braille driver modules into one big app?)

Dave Mielke dave at mielke.cc
Fri Aug 29 10:42:20 EDT 2008


[quoted lines by Willie Walker on 2008/08/29 at 09:55 -0400]

>I'm not sure I understand the issue.  Here's the docs from Solaris:

Unfortunately, it doesn't get into the _ex_unwind thing. As written, both the 
Solaris and Linux documents say essentially the same thing.

>So, what I'm suggesting is merely adding a call to dlerror prior to the 
>call to dlsym in the code in question.  This would clear any prior error 
>state and thus make sure that the existing call to dlerror would obtain 
>results (if any) for the existing call to dlsym.  

I understand what you're suggesting but am not convinced that it'll deal with 
the _ex_unwind problem. As I see it, there's not really any difference between 
calling dlerror() before vs after a dlsym() which succeeds.

Do you have a way to reliably reproduce the problem so that you can then add in 
the pre-call to dlerror() to see if it actually does work?

>The _ex_unwind thing is a bit of a mystery to me, but it has something 
>to do with C/C++ linkage, I believe.  The code checks for the existence 
>of this symbol and moves on if it doesn't exist.  But, it seems to fail 
>to clear the error state.
>
>However, the fix already provided works and if you want to go with it, 
>I'm happy with that.  :-)

I'd rather go with the most accurate fix, which your most recent suggestion is, 
but I also don't like assuming that a fix will work when the cause of the 
problem isn't understood. I'd appreciate it, therefore, if you could test it.

-- 
Dave Mielke           | 2213 Fox Crescent | I believe that the Bible is the
Phone: 1-613-726-0014 | Ottawa, Ontario   | Word of God. Please contact me
EMail: dave at mielke.cc | Canada  K2A 1H7   | if you're concerned about Hell.
http://FamilyRadio.com/                   | http://Mielke.cc/bible/


More information about the BRLTTY mailing list