On Thu, 24 May 2001, Kevin D. Kissell wrote: > The problem is that, out in industry, not everyone wants to > build their entire userland from source, and nobody particularly > wants to deal with the product management problems of making, > maintaining, testing, and distributing all the permutations of BE/LE, > FP/noFP, LLSC/noLLSC, etc, etc. First, we are talking about glibc and not the entire userland. I insist on having the performance-wise implementation in glibc. Second, do you expect everyone compiling the entire userland from sources? I don't. The normal approach is to take a distribution and build only these pieces which are not satisfying for one reason or another. Just take an ISA I, ISA II or whatever version you need. Third, an ISA-II-hosted glibc still contains an _test_and_set() function which makes use of ll/sc, independently from an inlined version in a header. Fourth, maintaining differently optimized distributions is not that troublesome. It's mostly a matter of disk space (which is hardly an issue these days). Once you have one version ready (prepared manually), all others can be built automatically with no intervention. With RPM it's as easy as having different optflags settings in an rc file and having an autobuilder perform the boring work. It's not a theory, this is for example how the PLD distribution is being developed -- see http://www.pld.org.pl/ for details. It just works. Fifth, I don't object having an ll/sc emulation per se -- as long as you use the ABI-defined _test_and_set() function, everyone is free to recompile sources to suite their needs. Maciej -- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +