[cfe-dev] [LLVMdev] [PATCH] triples for baremetal

Jonathan Roelofs jonathan at codesourcery.com
Tue Jun 24 11:57:00 PDT 2014

On 6/24/14, 12:01 PM, Eric Christopher wrote:
> Hi Jonathan,
> This looks a bit odd. Any reason for the unknown->none conflating in
> this way?
I'm trying to un-conflate them... What specifically seems odd to you about it?

IMHO, when a user doesn't explicitly specify that a target's OS is 'none' 
(perhaps they left it off, or they explicitly said 'unknown') then they probably 
don't intend to target bare-metal.
> For most (all) of the ports unknown-elf works the same as
> none-elf.
Yes, and so would santas-elf ;)

All three of these examples fall into the same "it doesn't match anything else 
OSType::UnknownOS bucket", and I want to change that.
> I'm also not sure if someone decided to have,
> arm-codesourcery-elf that this would still work with the patch.

Well, depends on what you mean by 'work', and also what is meant by that triple. 
To me, it means:

     ArchType: arm
     VendorType: CodeSourcery
     OSType: UnknownOS (not bare-metal)
     EnvironmentType: UnknownEnvironment
     ObjectFormatType: elf

If a user wants the baremetal version of that hypothetical triple, my argument 
is that they should say arm-codesourcery-none-elf, and they would get:

     ArchType: arm
     VendorType: CodeSourcery
     OSType: NoneOS
     EnvironmentType: UnknownEnvironment
     ObjectFormatType: elf

Does that make sense?



> Thoughts?
> -eric

Jon Roelofs
jonathan at codesourcery.com
CodeSourcery / Mentor Embedded

More information about the cfe-commits mailing list