From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25991 invoked by alias); 20 Jan 2013 23:30:31 -0000 Received: (qmail 25973 invoked by uid 22791); 20 Jan 2013 23:30:28 -0000 X-SWARE-Spam-Status: No, hits=-3.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,URIBL_DBL_SPAM X-Spam-Check-By: sourceware.org Received: from mail-wi0-f195.google.com (HELO mail-wi0-f195.google.com) (209.85.212.195) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 20 Jan 2013 23:30:23 +0000 Received: by mail-wi0-f195.google.com with SMTP id hj6so2756265wib.2 for ; Sun, 20 Jan 2013 15:30:22 -0800 (PST) X-Received: by 10.194.78.236 with SMTP id e12mr23252511wjx.32.1358724621999; Sun, 20 Jan 2013 15:30:21 -0800 (PST) Received: from treguer.localnet (ARennes-256-1-68-44.w90-32.abo.wanadoo.fr. [90.32.147.44]) by mx.google.com with ESMTPS id bw9sm14467629wib.5.2013.01.20.15.30.20 (version=TLSv1 cipher=RC4-SHA bits=128/128); Sun, 20 Jan 2013 15:30:20 -0800 (PST) From: "Yann E. MORIN" To: crossgcc@sourceware.org Subject: Re: scripts: add support for overriding the arch name in the tuple Date: Sun, 20 Jan 2013 23:30:00 -0000 User-Agent: KMail/1.13.5 (Linux/3.7.3-treguer; KDE/4.4.5; x86_64; ; ) Cc: Willy Tarreau References: <20130120225822.GS6838@1wt.eu> In-Reply-To: <20130120225822.GS6838@1wt.eu> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201301210030.18760.yann.morin.1998@free.fr> X-IsSubscribed: yes Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org X-SW-Source: 2013-01/txt/msg00044.txt.bz2 Willy, All, On Sunday 20 January 2013 Willy Tarreau wrote: > it sometimes happens that I need to build toolchains for several variants > of a CPU and I want to have the variant name in the arch tuple. In fact, > this is very similar to what is done with i386/i486/i586/i686, all of them > being variants of the x86 arch family. > > On arm, we commonly see armv5/armv6/armv7 and with v7 there are two common > cpus which are cortex a8 and a9. > > So I'm used to build my toolchains with a prefix which is 'armv5te', > 'armv7a8', 'armv7a9' etc... > > For this I wrote the small patch below for ct-ng-1.15.3, which still works > with 1.17.0. > > On one of my machines, the toolchain directory looks like this, which is > quite convenient to use : > > arm-gcc43_glibc29-linux-gnueabi/ > arm-gcc44_glibc29-linux-gnueabi/ > arm-gcc45_glibc29-linux-gnueabi/ > armv7a8-gcc43_glibc29-linux-gnueabi/ > armv7a9-gcc44_glibc29-linux-gnueabi/ > armv7a9-gcc47_glibc29-linux-gnueabi/ > armv7a9-gcc47_glibc29-linux-gnueabihf/ How do you managfed to have a '*-gnueabihf' with crosstool-NG? Last I tested, gcc broke because it did not recognise it as an EABI variant, and would not include the EABI file in gcc/config/arm/ . Even with a bit of patching, I ended up in a few hiccups here and there, so that's why ct-ng does not set the tuple to '*-gnueabihf' for now for ARM hard-float ABI. > i386-gcc34_glibc23-linux-gnu/ > x86_64-gcc34_glibc23-linux-gnu/ > > Hoping someone finds the patch useful. A few comments: - missing SoB line - provide a more terse commit-log, eg something like: ---8<--- arch: provide a arch-override for the tuple For some architectures, it is legit to have an alternate value in the 'architecture' part of the tuple. For example: armv5te-* armv7a8-* Besides, some packages expect the tuple to reflect the arch variant (eg. openMPI) to detect the variant's capabilities (eg. atomic primitives). We already have this for x86 (i[3456]86-*), but it is not possible for other archs. This patch provides an overide mechanism Signed-off-by: You you@there ---8<--- > diff -urN ./config/target.in ./config/target.in > --- ./config/target.in.orig 2012-07-17 22:39:55.000000000 +0200 > +++ ./config/target.in 2012-07-27 12:02:08.682588639 +0200 > @@ -5,6 +5,17 @@ > config ARCH > string > > +config ARCH_OVERRIDE > + string > + prompt "Arch name to use in the resulting tuple instead of ${CT_ARCH}" > + help > + Some architectures have multiple variants and being able to specify > + the variant instead of the arch is quite convenient. This is commonly > + seen for instance when "armv5tel-" is used as a prefix instead of the > + more generic "arm-", or with "alphaev6-" instead of "alpha-". > + > + If you're not sure about what this is, leave it blank. > + I think we should not allow the user to completely overide the arch-part. We should just allow for appending to the arch-part. This would be added to the default tuple, and would not create symlinks as the two other options currently do, so it would be possible to install more than one toolchain in the same place, as the default tuples would all be different (maybe that's what I did not completely explain during our private exchange). Thus, CT_TARGET_ARCH_SUFFIX="v5te" would give a tuple starting with "armv5te-". IMHO, giving the user the ability to completely overide the arch-part is opening the door to complete mayhem. I'm a bit uneasy with that. [--SNIP--] > diff -urN ./scripts/functions ./scripts/functions > --- ./scripts/functions.orig 2012-07-17 22:39:55.000000000 +0200 > +++ ./scripts/functions 2012-07-27 11:57:19.903088370 +0200 > @@ -982,7 +982,7 @@ > esac > > # Build the default architecture tuple part > - CT_TARGET_ARCH="${CT_ARCH}" > + CT_TARGET_ARCH="${CT_ARCH_OVERRIDE:-${CT_ARCH}}" Here, we'd have: CT_TARGET_ARCH="${CT_ARCH}${CT_TARGET_ARCH_SUFFIX}" And similar for the architectures. Which would ensure the default tuple will include this arch-part suffix. 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. | '------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq