From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 1/3] ARM: iwmmxt: Fix Makefile rules for building iwmmxt for Thumb-2
Date: Wed, 07 Sep 2011 22:32:09 +0200 [thread overview]
Message-ID: <1372213.9xxOYOJ3Ii@wuerfel> (raw)
In-Reply-To: <alpine.LFD.2.00.1109071306530.20358@xanadu.home>
On Wednesday 07 September 2011 13:18:21 Nicolas Pitre wrote:
> > > +
> > > +# When enough people have binutils which support -march=...+iwmmxt, this
> > > +# should change to something like if __LINUX_ARM_ARCH__ < 7.
> > > +ifdef CONFIG_THUMB2_KERNEL
> > > +AFLAGS_iwmmxt.o := -Wa,-march=armv7-a+iwmmxt
> > > +else
> > > AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt
> > > +endif
> >
> > It looks more like the switch should depend on the compiler version.
> > Unless there is a clear way to decide if gcc supports this switch, I
> > think it's reasonable to have the change like above.
>
> Normally the way to go with gcc version dependent alternatives is to use
> something like:
>
> AFLAGS_foo.o := $(call cc-option,<the_new_flag>,<the_fallback_flag>)
>
> This will test if <the_new_flag> is supported by the used gcc, and use
> the fallback otherwise.
Yes, that's possible here, but it's not actually correct either, because the
CPU core that we are running on is either a v5 XScale with iwmmxt or
a v7 pj4 with iwmmxt. Now, it should not really matter if we build the
code with flags for a different more complex instruction set, but it can
potentially hide bugs.
I think the simple solution that Dave posted is actually more appropriate.
The three possible cases are:
v5+iwmmxt: always use -Wa,-mcpu=iwmmxt as we've always done, and it's correct
v7+iwmmxt+arm: still use -Wa,-mcpu=iwmmxt, not correct but close enough and
is known to build the file with all existing toolchaings
v7+iwmmxt+thumb2: always use -Wa,-march=armv7-a+iwmmxt, which is correct and
the only possible way to build this file anyway. Old toolchains
will fail and there is nothing we can do about it.
Arnd
next prev parent reply other threads:[~2011-09-07 20:32 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-07 15:59 [RFC PATCH 0/3] ARM: iwmmxt/pj4 fixes for v7/Thumb-2 Dave Martin
2011-09-07 15:59 ` [RFC PATCH 1/3] ARM: iwmmxt: Fix Makefile rules for building iwmmxt for Thumb-2 Dave Martin
2011-09-07 16:10 ` Eric Miao
2011-09-07 17:18 ` Nicolas Pitre
2011-09-07 20:32 ` Arnd Bergmann [this message]
2011-09-08 8:53 ` Dave Martin
2011-09-07 15:59 ` [RFC PATCH 2/3] ARM: iwmmxt: Port problematic iwmmxt support code to v7/Thumb-2 Dave Martin
2011-09-07 16:13 ` Eric Miao
2011-09-07 20:35 ` Arnd Bergmann
2011-09-08 8:58 ` Dave Martin
2011-09-08 9:01 ` Russell King - ARM Linux
2011-09-08 11:33 ` Dave Martin
2011-09-08 14:40 ` Arnd Bergmann
2011-09-07 15:59 ` [RFC PATCH 3/3] ARM: pxa/pj4: Port problematic pj4 " Dave Martin
2011-09-07 16:18 ` Eric Miao
2011-09-07 20:27 ` Arnd Bergmann
2011-09-08 8:58 ` Haojian Zhuang
2011-09-08 11:10 ` Sergei Shtylyov
2011-09-08 11:35 ` Dave Martin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1372213.9xxOYOJ3Ii@wuerfel \
--to=arnd@arndb.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox