Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754565AbcCSBSa (ORCPT ); Fri, 18 Mar 2016 21:18:30 -0400 Received: from mail-ob0-f179.google.com ([209.85.214.179]:33668 "EHLO mail-ob0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753243AbcCSBSX (ORCPT ); Fri, 18 Mar 2016 21:18:23 -0400 Subject: Re: [PATCH] Remove v850 from linux/elf-em.h To: David Daney References: <56E87A63.8020703@landley.net> <56E89928.1010008@gmail.com> <56E90733.4010805@landley.net> <56EB2B0B.7080209@gmail.com> <56EB68B0.8060208@landley.net> <56EC3F0E.8060004@gmail.com> Cc: Andrew Morton , "linux-kernel@vger.kernel.org" , Greg Ungerer From: Rob Landley Message-ID: <56ECA836.7030307@landley.net> Date: Fri, 18 Mar 2016 20:15:34 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <56EC3F0E.8060004@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1740 Lines: 47 On 03/18/2016 12:46 PM, David Daney wrote: > I am not going to comment on it any more, but [commenting more] Yes you are. (And did then too.) > On 03/17/2016 07:32 PM, Rob Landley wrote: > [...] >> >> As I explained last email, userspace uses the libc header, not the linux >> header, > > The fallacy in this argument is the assertion that we know what > userspace does. Userspace programs that did that already broke on earlier symbol removals. > Userspace could easily do: > > #include > . > case SYMBOL_YOU_WANT_TO_REMOVE: > > ¡BOOM! it is broken. So you're assuming I don't know how headers get used by userspace. That's nice. Clearly, I never would have thought of that. Once again, "As I explained last email", symbols have been removed from this particular header before. Therefore userspace programs that did that without an #ifdef would have been broken by the previous commits that removed symbols. There is a header they can use, provided by libc, which exports all the defined ELF symbols _including_ the symbols the Linux kernel does not suse. The Linux kernel header in question only exports the symbols that this particular kernel version supports. When architectures are added or removed, the corresponding symbols get added or removed. I didn't invent the concept, it's happened before to this header. (In a larger context, we've removed bigger things. Remember when there was a feature-removal-schedule.txt that listed things pending removal, before Linus decided it was unnecessary and to just use his own judgement? Yeah, take it up with him.) And now I'm going to take your advice above. Please refer to my earlier messages in this thread for answers to what you're about to say. Rob