pkgsrc-Bugs archive

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

Re: pkg/44547



The following reply was made to PR pkg/44547; it has been noted by GNATS.

From: David Holland <dholland-pbugs%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: pkg/44547
Date: Sun, 11 Sep 2016 03:19:12 +0000

 On Thu, Sep 08, 2016 at 12:25:00PM +0000, coypu%SDF.ORG@localhost wrote:
  >  ll/sc are synchronization primitives for MIPS2 and above.
  >  it sounds as something in the package is defaulting for -mips3 for some
  >  things.
 
 So, it looks like the only thing that uses that are some questionable
 locks around malloc calls and some malloc-related memory metadata
 maintained by the runtime.
 
 There is no reason for the runtime to be multithreaded on a mips1;
 however, one would have to dig a lot deeper to be sure that it won't
 try to be. Meanwhile, we'd like the code to compile and run for mips3+
 such that it works when parallelized. So it really ought to check at
 runtime what kind of mips it is (which one does how in userland? sigh)
 and choose one or the other implementation of locking.
 
 You can also just fix the build by putting
 
    .set push
    .set mips32 (or .set mips3)
       :
    .set pop
 
 around the ll/sc sequence; but then the resulting binaries will crash
 on mips1.
 
 -- 
 David A. Holland
 dholland%netbsd.org@localhost
 


Home | Main Index | Thread Index | Old Index