Re: [PATCH] Remove v850 from linux/elf-em.h

From: Rob Landley
Date: Fri Mar 18 2016 - 21:18:34 EST


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 <linux/elf-em.h>
> .
> 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