Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] BR + CT-NG integration
@ 2009-12-21 22:51 Yann E. MORIN
  2009-12-22  8:31 ` Anders Darander
  2009-12-22 12:31 ` Gustavo Zacarias
  0 siblings, 2 replies; 9+ messages in thread
From: Yann E. MORIN @ 2009-12-21 22:51 UTC (permalink / raw)
  To: buildroot

Hello All!

Here's what I retained from the crosstool-NG perspective. Feel to correct
me, and add any omissions. For those of you that received my initial
report, I've updated it a bit to match how crosstool-NG evolved in the
meantime.


First, it should be made globally easy for buildroot to ultimately make
use of crosstool-NG in either one of those ways:

- rely on user-supplied external toolchain, built with crosstool-NG

  AFAICS, this is currently mostly working, even if some configuration
  items should be reviewed to make it work seamlessly.
  It was also pointed out that some of the toolchain options should be
  made easily available to buildroot (such as endianness, networking
  support (IPv4, IPv6)...). I think that this is easily achievable,
  provided the list of options is known.

- internally use crosstool-NG to build the needed toolchain for the
  configured target platform

  In this respect, the idea that was suggested was to have the needed
  CT-NG configuration files for each target, bundled with buildroot.
  buildroot already brings in .config files for the kernel and uClibc
  in its target/ tree, so adding a crosstool-Ng .config file should pose
  no big issue. We could also think of a generic.config, with target-
  specific value overriding the defaults.
  That would also requires the same option-retrieval ability as described
  above.


Second, it should be noted that the current set of architectures supported
by buildroot differs from the set currently supported by crosstool-NG.

In order to completely replace the internal toolchain steps from buildroot,
the needed architectures should be first "ported" to crosstool-NG. It should
be fairly easy for "main" targets, while others may require tweaking and
heavy patching.

Here's a summary of supported architectures, side-by-side. Features marked
with '(X)' are considered eXperimental in crosstool-NG, and are in need of
being confirmed.

arch            buildroot       crosstool-NG
--------------------------------------------
alpha . . . . . . . . . . . . . Y
arm.  . . . . . Y  BE/LE. . . . Y  BE/LE, (X: Thumb + I/W)
avr32 . . . . . Y . . . . . . . Y   (X)
cris. . . . . . Y . . . . . . . .
i386. . . . . . Y . . . . . . . Y  (x86)
ia64. . . . . . . . . . . . . . Y   (X)
mips. . . . . . Y  BE/LE. . . . Y  BE/LE
powerpc . . . . Y . . . . . . . Y  (ppc)
powerpc64 . . . . . . . . . . . Y  (ppc) (X)
s390/s390x. . . . . . . . . . . Y   (X)
superh. . . . . Y . . . . . . . Y
superh64. . . . Y . . . . . . . .
sparc . . . . . Y . . . . . . . .
sparc64 . . . . Y . . . . . . . .
x86_64. . . . . Y . . . . . . . Y  (x86)
xtensa. . . . . Y . . . . . . . .

So, on the overall, it's not that bad. Crosstool-NG brings in four archs
that buildroot has no support for, while it is missing five archs. For
some archs, some work in CT-NG is still needed to support some variants.

crosstool-NG and buildroot differ in the way the arch is selected:
 - bitness/endianness:
   - buildroot   : different archs (eg. arm/armeb, i386/x86_64)
   - crosstool-NG: variant of a common arch (eg. arm BE/LE, x86 32/64)
 - variants:
   - buildroot   : choice menu (eg. armv4, armv5t...)
   - crosstool-NG: user-supplied value (-march. -mcpu, -mfpu...)

That's not a big issue, but keeping an up-to-date and functional choice
menu proved a bit cumbersome, so I'd rather keep it that way (it's easy
to man gcc and pick a fitting value).


Third, as stated in my previous post, we need find a correct timing for
releases. Switching for crosstool-NG to a 3-month cycle seems adequate,
if a bit tight. Also, releasing crosstool-NG one month ahead of buildroot
allows for at least one maintenance release prior to a stable release of
buildroot, if needed.


Well, that's all for the moment. I think we should now prepare a plan to
prepare for the migration.

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.  |
`------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] BR + CT-NG integration
  2009-12-21 22:51 [Buildroot] BR + CT-NG integration Yann E. MORIN
@ 2009-12-22  8:31 ` Anders Darander
  2009-12-22  9:10   ` Yann E. MORIN
  2009-12-22 12:31 ` Gustavo Zacarias
  1 sibling, 1 reply; 9+ messages in thread
From: Anders Darander @ 2009-12-22  8:31 UTC (permalink / raw)
  To: buildroot

Hi Yann,

I think that the plan looks good, and that it will be beneficial for Buildroot.

On Mon, Dec 21, 2009 at 23:51, Yann E. MORIN
<yann.morin.1998@anciens.enib.fr> wrote:
> - rely on user-supplied external toolchain, built with crosstool-NG
>
> ?AFAICS, this is currently mostly working, even if some configuration
> ?items should be reviewed to make it work seamlessly.
> ?It was also pointed out that some of the toolchain options should be
> ?made easily available to buildroot (such as endianness, networking
> ?support (IPv4, IPv6)...). I think that this is easily achievable,
> ?provided the list of options is known.

If it's not already on the list, I'd like you to add the debug-root as
a toolchain option available for buildroot. My reason is that I'd like
to update and get my patch [1] to install gdbserver from crosstool-NG
to the target system integrated into buildroot.

I think that it would be possible to create a "cleaner" patch, if such
an option where available to buildroot.

Thanks in advance.

Regards,
Anders Darander

[1] http://lists.busybox.net/pipermail/buildroot/2009-November/030254.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] BR + CT-NG integration
  2009-12-22  8:31 ` Anders Darander
@ 2009-12-22  9:10   ` Yann E. MORIN
  2009-12-22 10:50     ` Anders Darander
  0 siblings, 1 reply; 9+ messages in thread
From: Yann E. MORIN @ 2009-12-22  9:10 UTC (permalink / raw)
  To: buildroot

Hello Anders, All!

Anders Darander wrote:
> If it's not already on the list, I'd like you to add the debug-root as
> a toolchain option available for buildroot. My reason is that I'd like
> to update and get my patch [1] to install gdbserver from crosstool-NG
> to the target system integrated into buildroot.

That's a good thing indeed.

I guess there will need to be more work in that area, as CT-NG also provides
a few other "debug" utilities that are also currently handled by buildroot.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< O_o >==-- '------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
'------------------------------'-------'------------------'--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] BR + CT-NG integration
  2009-12-22  9:10   ` Yann E. MORIN
@ 2009-12-22 10:50     ` Anders Darander
  0 siblings, 0 replies; 9+ messages in thread
From: Anders Darander @ 2009-12-22 10:50 UTC (permalink / raw)
  To: buildroot

Hi Yann and all!

On Tue, Dec 22, 2009 at 10:10, Yann E. MORIN
<yann.morin.1998@anciens.enib.fr> wrote:
> I guess there will need to be more work in that area, as CT-NG also provides
> a few other "debug" utilities that are also currently handled by buildroot.

Yes, that is certainly true.
Ultimately, I think that it should be possible to choose which debug
tools are to be installed onto the target. (As it's not always the
case that you have got enough space for everything on the target).
Yet, you might like to build everything with crosstool-NG, to not have
to rebuild the toolcain.

To be able to use crosstool-NG outside of buildroot, I'd like
crosstool-NG to retain building all debug tools that you currently are
building. In such a way, I'm assured (to some extent) that I'm not
mixing incompatible versions.

I'm aware that having the installation of all debug tools as separate
option, will create quite a few extra options; possibly not making it
easier for the newcomers. OTOH, I really think that this would be
useful.
I can think of a few ways this could enhance and extend my previosly
mentioned patch for gdbserver.

Keep up the good work!

Regards,
Anders Darander

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] BR + CT-NG integration
  2009-12-21 22:51 [Buildroot] BR + CT-NG integration Yann E. MORIN
  2009-12-22  8:31 ` Anders Darander
@ 2009-12-22 12:31 ` Gustavo Zacarias
  2009-12-22 12:37   ` Will Newton
  2009-12-22 20:34   ` Peter Korsgaard
  1 sibling, 2 replies; 9+ messages in thread
From: Gustavo Zacarias @ 2009-12-22 12:31 UTC (permalink / raw)
  To: buildroot

Yann E. MORIN wrote:

> So, on the overall, it's not that bad. Crosstool-NG brings in four archs
> that buildroot has no support for, while it is missing five archs. For
> some archs, some work in CT-NG is still needed to support some variants.

The CRIS architecture is somewhat going to vanish since Axis won't be
selling/supporting the chips publically any longer. Peter might want to
drop it soonish.
I also doubt it's in working order at the moment either.
For a precise timeline of Axis's plans you can see
http://www.axis.com/products/dev/index.htm
Regards.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] BR + CT-NG integration
  2009-12-22 12:31 ` Gustavo Zacarias
@ 2009-12-22 12:37   ` Will Newton
  2009-12-22 12:44     ` Gustavo Zacarias
  2009-12-22 20:34   ` Peter Korsgaard
  1 sibling, 1 reply; 9+ messages in thread
From: Will Newton @ 2009-12-22 12:37 UTC (permalink / raw)
  To: buildroot

On Tue, Dec 22, 2009 at 12:31 PM, Gustavo Zacarias
<gustavo@zacarias.com.ar> wrote:
> Yann E. MORIN wrote:
>
>> So, on the overall, it's not that bad. Crosstool-NG brings in four archs
>> that buildroot has no support for, while it is missing five archs. For
>> some archs, some work in CT-NG is still needed to support some variants.
>
> The CRIS architecture is somewhat going to vanish since Axis won't be
> selling/supporting the chips publically any longer. Peter might want to
> drop it soonish.
> I also doubt it's in working order at the moment either.
> For a precise timeline of Axis's plans you can see
> http://www.axis.com/products/dev/index.htm
> Regards.

I don't know what AXIS internal plans are, but it would appear by "not
available publically", they mean they are getting out of the chip
business (selling ETRAX SoCs) and becoming a pure IP supplier. If
that's the case you will still see CRIS architecture chips but from
other vendors.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] BR + CT-NG integration
  2009-12-22 12:37   ` Will Newton
@ 2009-12-22 12:44     ` Gustavo Zacarias
  0 siblings, 0 replies; 9+ messages in thread
From: Gustavo Zacarias @ 2009-12-22 12:44 UTC (permalink / raw)
  To: buildroot

Will Newton wrote:

> I don't know what AXIS internal plans are, but it would appear by "not
> available publically", they mean they are getting out of the chip
> business (selling ETRAX SoCs) and becoming a pure IP supplier. If
> that's the case you will still see CRIS architecture chips but from
> other vendors.

Very unlikely since CRIS is a propietary architecture from Axis which is
probably covered by some patents.
On a limb i'm betting they decided that maintaining their own
architecture wasn't worth the effort and they'll be switching to
something more generally-available like ARM or MIPS.
Remember they're mostly a netcam company, not a silicon or IP one. Their
ARTPEC chips (the engine behind their cams) were never sold, they were
for internal consumption.
Acme systems (www.acmesystems.it) which sold a range of products based
on their Etrax SoCs completely switched to ARM if that's any indication.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] BR + CT-NG integration
  2009-12-22 12:31 ` Gustavo Zacarias
  2009-12-22 12:37   ` Will Newton
@ 2009-12-22 20:34   ` Peter Korsgaard
  2009-12-22 20:47     ` Yann E. MORIN
  1 sibling, 1 reply; 9+ messages in thread
From: Peter Korsgaard @ 2009-12-22 20:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:

 Gustavo> Yann E. MORIN wrote:
 >> So, on the overall, it's not that bad. Crosstool-NG brings in four archs
 >> that buildroot has no support for, while it is missing five archs. For
 >> some archs, some work in CT-NG is still needed to support some variants.

 Gustavo> The CRIS architecture is somewhat going to vanish since Axis
 Gustavo> won't be selling/supporting the chips publically any
 Gustavo> longer. Peter might want to drop it soonish.  I also doubt
 Gustavo> it's in working order at the moment either.  For a precise
 Gustavo> timeline of Axis's plans you can see
 Gustavo> http://www.axis.com/products/dev/index.htm Regards.

We had cris patches submitted earlier this year, so I don't plan on
removing it right away.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] BR + CT-NG integration
  2009-12-22 20:34   ` Peter Korsgaard
@ 2009-12-22 20:47     ` Yann E. MORIN
  0 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2009-12-22 20:47 UTC (permalink / raw)
  To: buildroot

Peter, Gustavo,
All,

On Tuesday 22 December 2009 21:34:12 Peter Korsgaard wrote:
>  Gustavo> The CRIS architecture is somewhat going to vanish since Axis
>  Gustavo> won't be selling/supporting the chips publically any
>  Gustavo> longer. Peter might want to drop it soonish.
> We had cris patches submitted earlier this year, so I don't plan on
> removing it right away.

I do agree. Ultimately, I'd like crostool-NG (and thus buildroot) to support
the same arch list as is currently available in uClibc (except maybe those
marked as 'broken') and the Linux kernel.

So I do not have any plan to _remove_ support for any arch, unless it proves
impractical to support (ie. it does not build, no one steps in with hardware,
and there's no qemu support).

Of course, support for said archs should be available for gcc and binutils
as well. I'm not too keen on bundling arch-support patches in crosstool-NG,
but avr32 is already in, so...

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.  |
`------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-12-22 20:47 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-21 22:51 [Buildroot] BR + CT-NG integration Yann E. MORIN
2009-12-22  8:31 ` Anders Darander
2009-12-22  9:10   ` Yann E. MORIN
2009-12-22 10:50     ` Anders Darander
2009-12-22 12:31 ` Gustavo Zacarias
2009-12-22 12:37   ` Will Newton
2009-12-22 12:44     ` Gustavo Zacarias
2009-12-22 20:34   ` Peter Korsgaard
2009-12-22 20:47     ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox