Bug 53325 - arm-rtems switch default target to EABI
Summary: arm-rtems switch default target to EABI
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.6.4
: P3 normal
Target Milestone: 4.8.0
Assignee: Not yet assigned to anyone
Depends on:
Reported: 2012-05-11 14:53 UTC by Joel Sherrill
Modified: 2013-03-20 08:09 UTC (History)
3 users (show)

See Also:
Target: arm-rtems
Known to work:
Known to fail:
Last reconfirmed: 2012-11-28 00:00:00

GCC Patch for 4.6 (1.51 KB, patch)
2012-05-11 14:54 UTC, Joel Sherrill
Details | Diff
GCC Patch for 4.7 (1.03 KB, patch)
2012-05-11 14:54 UTC, Joel Sherrill
Details | Diff
GCC Patch for 4.8 (1.02 KB, patch)
2012-05-11 14:55 UTC, Joel Sherrill
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joel Sherrill 2012-05-11 14:53:37 UTC
I have to start by saying the RTEMS Project didn't manage the transition from "ARM ELF" to "ARM EABI"  as well as we have managed similar changes in the past. 
The crux of the issue is that the preferred RTEMS tool target is ALWAYS
CPU-rtems<version>. We have transitioned from a.out -> coff -> elf in the past
and always followed the same target renaming pattern.

1) provide alternative for old target CPU-rtemsOLD where
    OLD is aout, coff, elf, etc.
      - CPU-rtems stays tied to old
2) provide new target at CPU-rtemsNEW where new is
    aout, coff, elf, eabi, etc
3) verify RTEMS builds and no obvious issues with NEW.
    test what can be tested internally.
4) limited (1-2 week) open period for feedback and outside
5) if no feedback/bugs, switch CPU-rtems to CPU-rtemsNEW
    leaving CPU-rtemsOLD around as a backup 

Using CPU-rtems* makes our build instructions and use very consistent across the 15 or so architectures, RTEMS runs on.

This time, we missed something somewhere along the way and arm-rtems* got on the obsolete list and arm-rtemseabi* became the preferred target name. That breaks a very long standing and well documented pattern.

Myself and Sebastian Huber wrote and he tested these patches.  From http://www.rtems.org/pipermail/rtems-devel/2012-May/001001.html

	o the target arm-rtemseabi4.11 should be renamed to arm-rtems4.11
	  providing the up to date ARM EABI version 5 tool chain,
	o the target arm-rtemself4.11 provides the obsolete GNU EABI (also
	  known as ARM ELF) variant.

The patches for 4.6, 4.7, and the head are attached. We didn't remove the "ARM ELF" rtems target at this point. That is left for removal when general gcc clean up catches it.

GCC test suite results for arm-rtems4.11:

Comment 1 Joel Sherrill 2012-05-11 14:54:08 UTC
Created attachment 27374 [details]
GCC Patch for 4.6
Comment 2 Joel Sherrill 2012-05-11 14:54:35 UTC
Created attachment 27375 [details]
GCC Patch for 4.7
Comment 3 Joel Sherrill 2012-05-11 14:55:02 UTC
Created attachment 27376 [details]
GCC Patch for 4.8
Comment 4 Ramana Radhakrishnan 2012-11-28 03:32:23 UTC
Joel / Sebastian,

Isn't this now fixed ? 

Comment 5 Sebastian Huber 2012-11-28 08:09:47 UTC
It is fixed on GCC 4.8.  GCC 4.6 and 4.7 are still open.

Comment 6 Andrew Pinski 2013-03-20 00:54:12 UTC
Fixed for 4.8.
Comment 7 Sebastian Huber 2013-03-20 08:09:50 UTC
It is also fixed in the GCC 4.6 and 4.7 branches.