PATCH: Correctly configure all big-endian ARM archs, not just arm*-*-linux-*.

Richard Earnshaw rearnsha@arm.com
Fri Feb 15 18:41:00 GMT 2013


On 15/02/13 18:33, Seth LaForge wrote:
> On Fri, Feb 15, 2013 at 10:28 AM, Richard Earnshaw <rearnsha@arm.com> wrote:
>> On 15/02/13 18:20, Seth LaForge wrote:
>>> +# Handle big-endian ARM architectures.
>>> +case ${target} in
>>> +arm*b-*-*)
>>> +       tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
>>> +       ;;
>>
>> Not ok.  This would mismatch on
>>
>> arm-blob-linux-gnueabi
>>
>> and cause it to be treated as big-endian.
>
> I was under the impression that gcc target specs were always triplets;
> there are certainly lots of references in the gcc docs to "gcc target
> triplet".

They haven't been strict triplets for a long time now.  In fact, ever 
since somebody decided that linux wasn't enough and that gnu had to be 
mentioned as well... :-(

>
> Are there cases in which the target can have more than 3 components?
> If so, I could certainly change the test to use a regexp, or inline it
> all of the ARM handlers in the case statement below.
>
> Seth
>

Yes, anything with linux in it will now be a quadruplet.  There may be 
other cases as well.  Once a rule has been broken for one case, you can 
hardly enforce it against others.  The rot has set in...

R.



More information about the Gcc-patches mailing list