[Buildroot] non-standard architecture targets
Yann E. MORIN
yann.morin.1998 at free.fr
Sun Feb 10 16:33:41 UTC 2013
Martin, All,
On Sunday 10 February 2013 martin krastev wrote:
> I am trying to get buildroot (buildroot-2012.11.1) to produce a cross
> toolchain (x86_64 -> powerpc) of a non-standard target triplet (if
> it's still called that way).
We call them tuples, rather than triplets, as they can have four parts.
> I am currently getting
> "powerpc-buildroot-linux-uclibc", and I would like to extend that to
> "powerpc-buildroot-linux-uclibc-paired" or
> "powerpc-buildroot-linux-paired-uclibc" - generally anything following
> the powerpc*-*-linux*paired* pattern.
>
> What is the natural way to set this up in buildroot?
That is not posible, as those are not valid tuple.
A tuple is what describes the target, and needs to be constructed
in a very precise (and inflexible) format:
arch-vendor-abi
arch-vendor-kernel-abi
where:
- 'arch' is the architecture part of the tuple (arm, armeb, mipsel,
i386, powerpc...)
- 'vendor' is an almost-free-form part (but does not accept spaces
nor dashes, and globally, any other weird chars)
- 'abi' is the ABI part, for example: elf, eabi, gnueabi, uclibc...
- 'kernel' is the name of the kernel, eg. linux
Not all combinations of {arch,vendor,{os,}abi} are valid.
To check if a tuple is valid, use: ./support/gnuconfig/config.sub
$ ./support/gnuconfig/config.sub powerpc-buildroot-linux-paired-uclibc
Invalid configuration `powerpc-buildroot-linux-paired-uclibc': machine
`powerpc-buildroot-linux-paired' not recognized
If your tuple is valid, but non-canonic, config.sub will output the
canonic form of the tuple, eg:
$ ./support/gnuconfig/config.sub powerpc-linux
powerpc-unknown-linux-gnu
Unfortunately, I am not aware of a central authoritative list of valid
tuples, and the config.{guess,sub} scripts are the only authoritative
reference for building tuples, AFAIK.
However, if you want to differentiate your tuples, you can use the
vendor-part of the tuple (typically, 'buildroot' in tuples above).
This not possible with Buildroot: toolchains built with Buildroot
will always have 'buildroot' as the vendor-part. Some other toolchain
builders may allow you to override the vendor-part (eg. crosstool-NG
does have that possibility).
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list