Subject: bug#16304: Upcoming clang-3.4 apparently miscompiles coreutils.

From: Bill Wendling <[email-masked]>
Date: Tue, 31 Dec 2013 19:01:48 -0800

It really is too late now. The release has been put to bed, as it were. We’re now waiting for Chris to announce it.

-bw

On Dec 31, 2013, at 11:46 AM, Andrew Trick <[email-masked]> wrote:

> My previous reply didn’t have Bill’s correct email.
> 
> On Dec 31, 2013, at 11:42 AM, Andrew Trick <[email-masked]> wrote:
> 
>> 
>> On Dec 31, 2013, at 11:39 AM, Markus Trippelsdorf <[email-masked]> wrote:
>> 
>>> On 2013.12.31 at 11:12 -0800, Andrew Trick wrote:
>>>> 
>>>> On Dec 30, 2013, at 1:47 PM, Markus Trippelsdorf <[email-masked]> wrote:
>>>> 
>>>>> On 2013.12.30 at 18:47 +0000, Pádraig Brady wrote:
>>>>>> On 12/30/2013 12:32 PM, Markus Trippelsdorf wrote:
>>>>>>> coreutils-8.22 build with clang-3.4 doesn't copy permissions correctly:
>>>>>>> 
>>>>>>> markus@x4 tmp % touch test1
>>>>>>> markus@x4 tmp % chmod 600 test1
>>>>>>> markus@x4 tmp % ls -al test1
>>>>>>> -rw------- 1 markus markus 0 Dec 30 13:25 test1
>>>>>>> markus@x4 tmp % /var/tmp/coreutils-8.22/src/cp test1 test2
>>>>>>> markus@x4 tmp % ls -al test2
>>>>>>> ---------- 1 markus markus 0 Dec 30 13:25 test2
>>>>>>> markus@x4 tmp %
>>>>>> 
>>>>>> Ouch.
>>>>>> 
>>>>>> Note as part of the 8.22 release process
>>>>>> I did verify that `make check` passed with
>>>>>> clang-3.3-3.fc20.x86_64
>>>>>> 
>>>>>> I've again verified that clang-3.3 passes your test above.
>>>>>> 
>>>>>> Can you pinpoint the erroneous code?
>>>>>> It does seem like a clang regression TBH.
>>>>> 
>>>>> Started with LLVM r192750 (Enable MI Sched for x86).
>>>>> I've opened a LLVM bug here:
>>>>> http://llvm.org/bugs/show_bug.cgi?id=18346
>>>>> 
>>>>> (I will try to come up with a testcase after the holidays)
>>>> 
>>>> To determine whether a bug exists in MI scheduler pass (or downstream) you can do this:
>>>> -mllvm -enable-misched=false.
>>>> 
>>>> Duncan committed a post-3.4 fix, r197503, for a varargs bug exposed by
>>>> changes to the SD scheduling policy.
>>> 
>>> Yes, r197503 fixes the issue. Would be nice to get the fix applied
>>> before 3.4 gets released...
>> 
>> Yep, it would be nice. But the fix was considered too late 2 weeks ago, so it’s even less likely now. I don’t think there’s any way to rerun validation at this point. I’m copying Bill who is the authority.
>> 
>> -Andy
>