This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]