On Feb 15, 2013, at 10:33 AM, Seth LaForge <set...@google.com> wrote: > I was under the impression that gcc target specs were always triplets;
:-) arm-elf is a target spec, as is i960. There is a canonicalization that takes place that can change the format of it to be more standardized. One or more characters is the official guideline, assuming more, would be wrong. We often talk about target triplets, as a triplet is what one gets after canonicalization, usually. > there are certainly lots of references in the gcc docs to "gcc target > triplet". Well, the doc misled you. When it speaks of the target triplet, what it means is the target spec. The target spec is 1 or more characters. Now, as luck would have if, no one seems daring to run off with 1 character just yet, but, they in theory can. 2 is the current lower bound limit on spec, for example, mt. Most of the software only deals with canonicalized target specs. The are in the canonical form. That's all we can say about that. It has a generalized form that most specs will usually follow. For example, basiccputype-vendorofhardware-typeofoperatingsystem is a general format that most systems use, as we recommend it, first for new specs. Simple, straightforward. > Are there cases in which the target can have more than 3 components? Answering this question doesn't serve you, or us. You get to play, with the specs you play with. If you own foo, you can decree that foo-bar-bee-bar is the canonical, and that the canonical always has 4 components, or not. Or maybe 5. Or maybe 3. If you don't own it, you don't get to. For example, the linux specs were decreed that they would be linux-gnu in the canonical spec. This bumps any spec that uses -linux to be one more component than the spec it started with, so if it started with the usual 3, would then become 4 after the rule change. Now, for the concrete. In arm land, you want armeb-*, armbe-*, armv[345]b-* and xscaleeb-*. This is derivable from the config.sub file. (crossing fingers that be means big endian) You explicitly don't want any other form, as no other form works.