Fixed breaks&replace dependency and some unit test fixes
sylvestre at mozilla.com
Sat Nov 5 12:38:33 UTC 2016
Le 05/11/2016 à 13:31, Pauli a écrit :
> On Sat, Nov 5, 2016 at 11:33 AM, Sylvestre Ledru <sylvestre at mozilla.com> wrote:
>> Le 03/11/2016 à 23:23, Pauli a écrit :
>>> Attached patches fix some libc++ unit tests and dependency an issue.
>> Impressive work, bravo!
>>> I added versioned build dependency to clang. Versioned dependency is
>>> only required for i386 packages. i386 version of package should be
>>> build with two attached clang patches to generate code correctly for
>>> i686 instead of clang's default pentium4 for 32 bit x86.
>> I am concerned about this change, I think it is going to have side
>> I guess libc++ will still ftbfs on i386 until I apply this patch, right?
> I suspect that builder is running a newer processor than pentium4.
> That means builder would like manage to build and run all tests but
> libc++ package would be still unusable if running in a processor build
> before pentium4.
> Side effects from the clang changes are default CPU feature target
> matching gcc. That means clang won't generate SSE/SSE2 code by default
> like it does now. It is easy override with
> -march=pentium4/-march=native switches like with gcc. You can check
> the difference between gcc and clang with simple preprocessor feature
> macro checks:
> gcc -m32 -dM -E - < /dev/null | egrep "__i|tune|pentiu|SSE"
> clang -m32 -dM -E - < /dev/null | egrep "__i|tune|pentiu|SSE"
> That means clang defaults to generating SSE2 code but i386 packages
> should run on processors without simd instructions. (same issues as
> arm neon)
I don't really care about systems without SSE2 to be honest. For
example, this is now a requirement for both Firefox & Chrome.
Not sure I want to apply this patch, this is going to cause performance
regressions and, afaik, it didn't cause much issues in the past of
building with sse2 by default.
More information about the Pkg-llvm-team