Please coordinate with Jon Masters at RedHat/Fedora and Adam Conrad at Ubuntu/Debian on this. (Cc'ing the cross-distro list, through which the recent ARM summit at Linux Plumbers was organized.)
Cheers, - Michael On Sep 16, 2011 8:41 AM, "David Gilbert" david.gilbert@linaro.org wrote:
OK, so we seem to have agreement here that what we want is autodetect for eglibc and forget about the triplet; well technically that probably makes my life easier, and I don't think it's too hard a sell.
Dave
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
On 19 September 2011 00:48, Michael K. Edwards m.k.edwards@gmail.com wrote:
Please coordinate with Jon Masters at RedHat/Fedora and Adam Conrad at Ubuntu/Debian on this. (Cc'ing the cross-distro list, through which the recent ARM summit at Linux Plumbers was organized.)
OK, let me summarise for the new people on the cc.
I'm looking to adding a few ARM optimised string routines to eglibc (memchr initially) and they requires ARMv6t2 and newer, hence I started looking at how it finds architecture specific code.
At the moment eglibc uses the architecture from the 1st part of the triplet as part of the search path in the source tree, so configuring for armv5-linux-gnueabi will end up looking in an arm/eabi/armv5 directory.
What I was going to do (after some discussion with Joseph Myers: http://old.nabble.com/-ARM--architecture-specific-subdirectories,-optimised-... )
1) Add armv6/v7 to config.sub 2) If the version wasn't specified in the 1st part of a triplet, then use gcc ifdef's to autodetect what we're building for 3) If the version was specified in the triplet then use it
A bit of digging however led me to find that neither gcc or binutils seem to use the version in the triplet to determine anything, and the discussion on the linaro-toolchain list that started this thread have come to the conclusion that people would actually prefer to always ignore the triplet (like binutils and gcc) and just autodetect from gcc ifdef's.
Thoughts?
Dave
On Mon, 19 Sep 2011, David Gilbert wrote:
- Add armv6/v7 to config.sub
Which makes sense anyway (in upstream config.git) as of use to anyone who might wish to use such target triplets, in any project using autoconf.
A bit of digging however led me to find that neither gcc or binutils seem to use the version in the triplet to determine anything, and the discussion on the linaro-toolchain list that started this thread have come to the conclusion that people would actually prefer to always ignore the triplet (like binutils and gcc) and just autodetect from gcc ifdef's.
Logically I prefer autodetection over depending too much on triplets (you should still set the various configure variables from the autodetection in the way I described). For some reason the autodetection I set up for Power e500 in EGLIBC has however proved rather fragile in practice - lots of people have had difficulty getting it working.
As I noted there are several different approaches possible; some are more frequent than others and autodetection isn't that frequent in (E)GLIBC at present.