On Nov 12, 2018, at 3:13 PM, Alan Modra <amo...@gmail.com> wrote:
> 
> For people developing new code, it's the right way to go, and
> especially so for people working on gcc itself.  For people just
> wanting stuff to compile, not so much.  I fully expect a chorus of
> *MORON* or worse to come from the likes of the linux kernel rabble.

So, if you just want to hear people whine...

On darwin, we (darwin, as a platform decision) like all instructions available 
from the assembler.  The assembler and the linker have specialized code to 
track all instructions used (from which CPU types those instructions come 
from), and mark the object file according to what is actually used.  We also 
have FAT binaries as a standard feature and other things to make everything 
play nicely.  People that use inline assembly are expected to know how to code, 
because it is an advanced feature, and not need hand holding on how to write 
the condition that guards the code.  I don't recall seeing any reports of 
anyone needing any extra help in this matter.  On darwin, there wasn't a 
.machine for a while, it came later.

Anyway, I thought about saying that it would be nice if all platforms behaved 
the same, and ask, what do people thing the recommended behavior of all 
platforms should be?

Personally I don't have a dog in this, as darwin cannot be changed, it's a 
platform feature, and personally, I don't write a ton of this type of code.  I 
just provide an alternate POV.  Darwin has api's to query the architecture and 
code in the assembler/linker to help manage it's decision.  Normal ELF systems, 
I want to say, usually lack such things.  So, choices it makes aren't 
necessarily right for others.

Reply via email to