> On Dec 17, 2015, at 10:59 AM, Bob Wilson via cfe-commits 
> <cfe-commits@lists.llvm.org> wrote:
> 
> 
>> On Dec 17, 2015, at 10:16 AM, Joerg Sonnenberger via cfe-commits 
>> <cfe-commits@lists.llvm.org> wrote:
>> 
>> On Wed, Dec 16, 2015 at 11:59:10PM +0000, Bob Wilson via cfe-commits wrote:
>>> We can change this to be Darwin-specific if you prefer, but we should
>>> maintain compatibility with GCC and previous Clang releases in this 
>>> behavior.
>> 
>> Who is really affected by this? I don't care too much about obscure
>> Darwin hacks, but I really wonder why it isn't better to just explicitly
>> add -fno-PIC (e.g. when building a kernel module). It's not like that
>> will break on older versions of GCC or Clang.
> 
> Apple has internal projects that are failing to build. This behavior has been 
> in places for many years and I don’t even know how we could find all the 
> people relying on this behavior. Yes, we could break them and force everyone 
> to add -fno-PIC, but typically when we make disruptive and incompatible 
> changes like that, we need to stage the changes and give people a transition 
> plan. For example, we could keep the old behavior but add a warning about the 
> change, something like “warning: -static may be changed in future versions of 
> clang to stop implying -fno-PIC”. After a year or two, we could then go ahead 
> with the change. That is all a lot of work and there needs to be some 
> significant benefit to justify breaking compatibility with older compilers. I 
> don’t see any significant benefit here. It’s a 2-line change to the driver.

Joerg, I’m going to interpret your “I don’t care too much” comment as an 
indication that you’re not opposed to moving forward with the Darwin-specific 
change to restore the previous behavior. I went ahead and committed the change 
in r256026.

I can also add another data point on the impact. We just spent several days 
tracking down a problem that turned out to be caused by this. The code built 
successfully but crashed at run-time. It was extremely difficult to figure out 
what was going wrong.

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to