Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 391925 - [Suggestion] Integrate OpenWRT arch toolchain patches
Summary: [Suggestion] Integrate OpenWRT arch toolchain patches
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-26 00:09 UTC by Richard
Modified: 2012-08-12 06:25 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard 2011-11-26 00:09:10 UTC
I noticed that the OpenWRT project has quite a few patches that are absent from Gentoo. Of particular interest is ColdFire ISA support, AVR32 ISA support, Ubicom32 ISA support, some patches to improve ARM support (in GCC 4.5 and GCC 4.6), CodeSourcery toolchain patches and the Linaro patches. 

I looked through the bug tracker to see if anyone had proposed integrating any of this with Gentoo and the only report I found was bug #335648 where someone requested an ebuild for the CodeSourcery toolchain.

That toolchain is of particular interest because it is supposed to improve performance over the lightly patched toolchain Gentoo currently uses and the patch (code drop?) for it appears to be architecture agnostic. Mentor Graphics, which acquired CodeSourcery last year, claims support for amd64, arm, coldfire (non-compatible m68k variant), mips, ppc and sh:

http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition

According to the Plug Computer Wiki, the Code Sorcery toolchain is widely used:

http://www.plugcomputer.org/plugwiki/index.php?title=Compiling_Linux_Kernel_for_the_Plug_Computer&oldid=3154

One of the FFMPEG developers has benchmarks on ARM, which show improvements:

http://hardwarebug.org/2009/08/05/arm-compiler-shoot-out/
http://hardwarebug.org/2009/08/20/arm-compiler-shoot-out-round-2/

He also caught a bug that they introduced:

http://hardwarebug.org/2008/11/28/codesourcery-fails-again/

I cannot find Mentor Graphics' version control system and it might be the case that they provide a code drop in the form of a tarball, which could explain why the OpenWRT project has monolithic patches in their SVN:

https://dev.openwrt.org/browser/branches/backfire/toolchain/gcc/patches
https://dev.openwrt.org/browser/branches/backfire/toolchain/binutils/patches

They are using patches for GCC 4.3.3 and Binutils 2.19.1 as of this writing, but they used to have patches for GCC 4.4.1 and 4.4.3 as well. They removed the 4.4.1 and 4.4.3 patches with the remark that they were broken. The "ARM compiler shoot-out" article I linked above demonstrated performance regressions, which semi-supports that statement.

The OpenWRT trunk appears to have switched to the Linaro toolchain and it appears that Canonical is using the Linaro patches to build the ARM version of Ubuntu:

https://dev.openwrt.org/browser/trunk/toolchain/gcc/patches
http://www.linuxfordevices.com/c/a/News/Linaro-1108-/
https://wiki.linaro.org/WorkingGroups/ToolChain

It is up to the Gentoo toolchain team to decide what to do with all of this, but in absence of seeing any discussion, I thought it would be a good idea to file a bug report. With that said, I suspect that this bug will serve as a tracker/discussion bug more than anything else.

I think that that the GCC 4.5 and 4.6 ARM support patches would be a useful addition to Gentoo and are likely things that can be sent upstream. I also think that integrating the ColdFire ISA support, AVR32 ISA support and Ubicom32 ISA support patches into Gentoo so that crossdev can generate toolchains for these platforms would lay the groundwork for Gentoo to support these platforms in the future. As for the toolchains, it might be a good idea to look into offering them as alternatives to GCC on Gentoo. I imagine that having the option to use them to build Gentoo would be useful for users of the soon to be released Raspberry Pi and the framework necessary to support them would probably be useful to architecture specific compilers like the official ARM compiler, the Intel compiler and others.
Comment 1 SpanKY gentoo-dev 2012-08-12 06:25:07 UTC
i don't think we have the developer resources to merge these sort of things.  we have ebuilds that should allow you to install the CS/mentor toolchains easily, but for extension patchsets (especially ones that add new processor support or optimizations), we'd push people to merge upstream.  sorry.