Subject: Re: Is netbsd-3.0/ld.elf.so is thread safe ???
To: Charles M. Hannum <mycroft@mit.edu>
From: sushant mathur <sushant.iet@gmail.com>
List: port-arm
Date: 04/17/2006 18:30:33
------=_Part_43200_1062548.1145278833676
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi Sorry for Delayed response as i was on leave
well I need to ask some more query on this issue

 >It's thread-safe WRT multiple CPUs doing lazy binding at the same time.
> >This is guaranteed by having the binder not modify any internal data
> >structures, only doing atomic updates to the PLTGOT at the end.  (This
> >was not the case in old versions of NetBSD.  I fixed it several years
> >ago.)




1) Whether this change is present in netbsd-1.6 or not

 2)Can You Tell whether dlopen/dlsym bindings are thread specific or proces=
s
specific,Is there any specfication which clearly specifies this ???

3) My Application is working Fine on i686 but on arm it's giving the
problem,
So is it a architecture issue?

>However, multiple simultaneous calls to dlopen() will probably lose.
> >This would be fairly easy to fix if someone cared.




1)If i want to make netbsd3.0 thread safe then is it sufficient to make all
dlopen/dlsym thread safe by doing mutex locking and unlocking?

2)If i want to make lazy binding thread safe on uniprocessor system, then
the code executed during lazy binding has to be made thread safe using
mutex lock and unlock?

------=_Part_43200_1062548.1145278833676
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi Sorry for Delayed response as i was on leave<br>well I need to ask some =
more query on this issue<br><br>
<div>
<blockquote class=3D"gmail_quote" style=3D"PADDING-LEFT: 1ex; MARGIN: 0px 0=
px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">&gt;It's thread-safe WRT multipl=
e CPUs doing lazy binding at the same time.<br>&gt;This is guaranteed by ha=
ving the binder not modify any internal data
<br>&gt;structures, only doing atomic updates to the PLTGOT at the end.&nbs=
p;&nbsp;(This<br>&gt;was not the case in old versions of NetBSD.&nbsp;&nbsp=
;I fixed it several years<br>&gt;ago.)</blockquote>
<div>&nbsp;</div>
<div>&nbsp;</div><br>
<blockquote class=3D"gmail_quote" style=3D"PADDING-LEFT: 1ex; MARGIN: 0px 0=
px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">1) Whether this change is presen=
t in netbsd-1.6 or not</blockquote>
<div>
<p>2)Can You Tell whether dlopen/dlsym bindings are thread specific or proc=
ess<br>specific,Is there any specfication which clearly specifies this ???<=
/p>
<p>3) My Application is working Fine on i686 but on arm it's giving the<br>=
problem,<br>So is it a architecture issue?</p></div><br>
<blockquote class=3D"gmail_quote" style=3D"PADDING-LEFT: 1ex; MARGIN: 0px 0=
px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">&gt;However, multiple simultaneo=
us calls to dlopen() will probably lose.<br>&gt;This would be fairly easy t=
o fix if someone cared.
</blockquote>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>
<p>1)If i want to make netbsd3.0 thread safe then is it sufficient to make =
all<br>dlopen/dlsym thread safe by doing mutex locking and unlocking?</p>
<p>2)If i want to make lazy binding thread safe on uniprocessor system, the=
n<br>the code executed during lazy binding has to be made thread safe using=
<br>mutex lock and unlock?</p></div><br>&nbsp;</div><br>

------=_Part_43200_1062548.1145278833676--