Patchwork [10/10] toolchain-external: on SuperH, use Sourcery CodeBench 2011.09 by default

login
register
mail settings
Submitter Thomas Petazzoni
Date June 3, 2012, 2:04 p.m.
Message ID <7a2800c2cb33d674a82e1396354225549458a708.1338732273.git.thomas.petazzoni@free-electrons.com>
Download mbox | patch
Permalink /patch/162535/
State Changes Requested
Headers show

Comments

Thomas Petazzoni - June 3, 2012, 2:04 p.m.
The 2012.03 version of the x86 toolchain uses glibc 2.15, which
doesn't provide RPC functions. This breaks most packages for now,
until we package TI-RPC properly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/toolchain-external/Config.in |    4 ++++
 1 file changed, 4 insertions(+)
Peter Korsgaard - June 4, 2012, 7:48 a.m.
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> The 2012.03 version of the x86 toolchain uses glibc 2.15, which
 Thomas> doesn't provide RPC functions. This breaks most packages for now,
 Thomas> until we package TI-RPC properly.

Seems like cut'n'paste from patch 9.

"Most packages" is probably somewhat exaggerated - We have very few
packages depending on BR2_INET_RPC:

git grep -l BR2_INET_RPC package/**/Config.in
package/lmbench/Config.in
package/netkitbase/Config.in
package/netkittelnet/Config.in
package/nfs-utils/Config.in
package/portmap/Config.in

Or have you found other packages where we're missing the BR2_INET_RPC
annotation?
Thomas Petazzoni - June 6, 2012, 8 p.m.
Le Mon, 04 Jun 2012 09:48:38 +0200,
Peter Korsgaard <jacmet@uclibc.org> a écrit :

> >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> 
>  Thomas> The 2012.03 version of the x86 toolchain uses glibc 2.15, which
>  Thomas> doesn't provide RPC functions. This breaks most packages for now,
>  Thomas> until we package TI-RPC properly.
> 
> Seems like cut'n'paste from patch 9.

Yes :)

> "Most packages" is probably somewhat exaggerated - We have very few
> packages depending on BR2_INET_RPC:
> 
> git grep -l BR2_INET_RPC package/**/Config.in
> package/lmbench/Config.in
> package/netkitbase/Config.in
> package/netkittelnet/Config.in
> package/nfs-utils/Config.in
> package/portmap/Config.in
> 
> Or have you found other packages where we're missing the BR2_INET_RPC
> annotation?

There are some packages that do not depend on BR2_INET_RPC, but that
enable stuff when BR2_INET_RPC is enable. Take for example
package/busybox :-)

For the moment, the external toolchain code assumes that if the
external toolchain uses (e)glibc, then it has RPC support, so it always
enables BR2_INET_RPC. Obviously, this is what is broken, but I'd prefer
to add proper support for TI-RPC to not leave users using modern
toolchains with absolutely no solution for RPC support.

For now, if you choose one of those toolchains, even Busybox does not
build (complains that rpc.h doesn't exist), which explains why I
preferred to not make those toolchains the default ones, until I find
the time to work on TI-RPC integration.

Regards,

Thomas

Patch

diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index f632deb..c8c1f14 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -5,6 +5,10 @@  choice
 	# Don't use the latest Sourcery CodeBench on x86 by default,
 	# because it uses glibc 2.15, which lacks RPC functions.
 	default BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109 if BR2_i386 || BR2_x86_64
+	# Don't use the latest Sourcery CodeBench on SuperH by
+	# default, because it uses glibc 2.15, which lacks RPC
+	# functions.
+	default BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103 if BR2_sh4a || BR2_sh4aeb
 
 config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_05
 	bool "Linaro 2012.05"