NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PR/49816 CVS commit: src/libexec/ld.elf_so



> The following reply was made to PR lib/49816; it has been noted by GNATS.
> 
> From: Joerg Sonnenberger <joerg%britannica.bec.de@localhost>
> To: gnats-bugs%NetBSD.org@localhost
> Cc: 
> Subject: Re: PR/49816 CVS commit: src/libexec/ld.elf_so
> Date: Tue, 7 Apr 2015 13:03:14 +0200
> 
>  On Tue, Apr 07, 2015 at 01:55:01AM +0000, YAMAMOTO Takashi wrote:
>  >  the intel's manual says:  (8.2.2)
>  >  
>  >      Reads may be reordered with older writes to different locations
>  >      but not with older writes to the same location.
>  >  
>  >  see also 8.2.3.4 Example 8-3.
>  >  
>  >  isn't it the case for _rtld_exclusive_exit?
>  
>  I don't think that's relevant, this is about global visiblity of
>  changes. E.g. if another thread tries to get the mutex, it must see all
>  changes from the current thread when successfully acquired the mutex.
>  
>  Joerg

sorry for late reply.

_rtld_exclusive_exit
    _rtld_mutex = 0;  // older write to different location
    waiter = _rtld_waiter_exclusive  // read

my interpretation of the manual text is that these two accesses
can be reordered.
if it happens, _rtld_exclusive_enter can block on now unlocked mutex.

YAMAMOTO Takashi


Home | Main Index | Thread Index | Old Index