Fixed breaks&replace dependency and some unit test fixes

Sylvestre Ledru 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 :
>>> Hi,
>>>
>>> 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
>> effects...
>> 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.

S




More information about the Pkg-llvm-team mailing list