Re: [PATCH 2/3] Add basic Mips core tune config
From: Richard Purdie <hidden>
Date: 2011-08-11 14:33:38
On Thu, 2011-08-11 at 13:29 +0100, Phil Blundell wrote:
On Thu, 2011-08-11 at 13:08 +0100, Richard Purdie wrote:quoted
You sound like you're doing this backwards. Pick a tune that either sets TUNE_FEATURES to either contain or not contain "bigendian". TARGET_ARCH then should get set appropriately and things that look at TARGET_ARCH should work as before. Ultimately we might want to consider if things like siteconfig should use TUNE_FEATURES rather than TARGET_ARCH but it should work as things stand now...Okay. So, if I let arch-mips.inc set TARGET_ARCH for itself then it picks "mipsel", which is the second case I mentioned above and leads to the -mips1 failure. I guess this means that either uclibc's usage of overrides needs fixing, or arch-mips ought to be putting "mips" into ${OVERRIDES}. More generally, it seems as though having TARGET_ARCH in ${OVERRIDES} is probably going to be fairly useless if that value now includes all the decorations for ABI features, since it is going to be hard/impossible to get it to match reliably.
I don't think this is a new problem, its just being brought to the surface with these changes.
Does the new tune model provide any variable which represents the
underlying CPU architecture ("arm", "mips")? That seems to be what's
really wanted in almost all the cases where TARGET_ARCH is being used as
an OVERRIDE.Not currently but this does sound like a good idea. The old approach to this was always ugly (was it i586 or i686 or x86? or i386/i486 for that matter?). The arch/tune files provide a good place to try and clean this up, cleaning up OVERRIDES for an added bonus. The problem is we'd traditionally had variables which get overloaded to many different meanings. We're hopefully getting to grips with that and this would make another good step in that direction. Cheers, Richard