On Feb 20, 2017, at 14:38 , Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote:



On 19/02/17 01:29, dufa...@hda.com wrote:

On Feb 19, 2017, at 07:55 , Joel Sherrill <j...@rtems.org
<mailto:j...@rtems.org>> wrote:



On Feb 18, 2017 4:03 PM, "Peter Dufault" <dufa...@hda.com
<mailto:dufa...@hda.com>> wrote:

   On Feb 14, 2017, at 22:08 , Sebastian Huber
   <sebastian.hu...@embedded-brains.de
   <mailto:sebastian.hu...@embedded-brains.de>> wrote:

   Looks like embedded PowerPC is going to die in GCC:

   -------- Forwarded Message --------
   Subject:Obsolete powerpc*-*-*spe*
   Date:Mon, 13 Feb 2017 21:07:03 -0600
   From:Segher Boessenkool <seg...@kernel.crashing.org
   <mailto:seg...@kernel.crashing.org>>
   To:g...@gcc.gnu.org <mailto:g...@gcc.gnu.org>
   CC:dje....@gmail.com <mailto:dje....@gmail.com>



   Hi all,

   I propose to mark powerpc*-*-*spe* as obsolete in GCC 7.  This
   includes
   the spe.h installed header file, all the __builtin_spe*
   intrinsics, the
   -mfloat-gprs= command-line option, and the support for the SPE ABIs.

   No one has properly tested these targets in a long time (the latest
   testresults I could find are from July 2015, >1000 failures),
   and the
   SPE support makes a lot of code much more complex.

   Any objections to this obsoletion?  GCC 7 will then be the last
   release
   with support for SPE (it will need --enable-obsolete to build these
   targets), and we will delete the SPE support during GCC 8
   development.

   I’ve been traveling and just noticed this. I use this target in
   three applications with RTEMS.

     * Who else in the RTEMS community is using this?
     * The spe.h header file has been hopelessly broken forever,
       that’s not an issue.
     * I build and use the “libdsp2” library for SPE. This is
       primarily assembler and I hope the assembler support for SPE
       is not affected, but I‘m not sure.
     * I assume the major issue will be the removal of support for
       -mfloat-gprs and SPE ABIs.
     * Can someone with GCC knowledge comment about the possibility
       of pared-back support?  I’m guessing little or no hope based
       on the comment that “SPE support makes a lot of code much
       more complex” and SPE support with the ABI would be needed to
       use the DSP library and single precision floating point with
       the -mfloat-gprs registers.

   I think this is going to put those applications into maintenance
   mode and make that target inappropriate for new RTEMS applications.


It is clear from the thread on the GCC mailing list that no one has
stepped up to maintain this support for a LONG time. The support will
be in GCC 7 but maybe not in 8.

There are a few options:

+ Find someone to maintain it in GCC. Looks unlikely based on the thread.

+ Do as you suggest and freeze the tools for that target. The way it
looks for GCC, this would likely correspond to RTEMS 4.12.

+ I am not sure if this is worth considering but we could have a
special PowerPC/SPE toolchain where we freeze it on the last GCC
version with spe support

I am not that familiar with using SPE in applications so would this
automatically obsolete some CPU models and BSPs when GCC drops
support? Assuming we don't figure out how to freeze a toolchain.

Just considering options ranging from obsoleting things to freezing
things. I just do the know the impact.

There is only one application of the three where I consciously use the
SPE, and in that case I use the vendor’s assembly language library
(MPC5500 libdsp2).   Of course the compiler may be using the SPE, and
the strange floating point register setup on that chip (pairs of
32-bit floating point registers) must be implied by the mfloat-gprs
flag and without that and the API I think updating after gcc 7 will be
impossible.

I’ll have to look through the thread.  I haven’t noticed compiler
issues in tracking the latest versions of RTEMS, I have to see what
those 1000 failures are.

The big advantage of the chip for me has been using the pairs of eTPU
processors together with canned motor control code downloaded from
Freescale / NXP, letting me do 6 axis motor control with one of those
embedded chips.  However, Freescale / NXP appears to be moving away
from the eTPU anyway, and I’ll be evaluating new targets for new
applications.  At this point I would not start a new design with the
Phytec MPC55xx BSP other than for a client that was already using it,
but with GCC moving away from it I wouldn’t recommend it to an
existing client (though they may disagree since they’ll be supporting
it for a while and it will be a common spare part).

So it’s too bad, because I liked how the chip worked out, but I think
I’m going to be fine with freezing at 4.12.

I’ll mention another option for completeness but that would be an
adventure:  bring RTEMS up with the Freescale / NXP “CodeWarrior”
compiler.  As I said, just mentioning it for completeness.

I don't expect that Freescale/NXP/Qualcomm will commit them to maintain
GCC or even Binutils. Maintaining a special powerpcspe-rtems tool chain
based on GCC 7 may work for some time.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

I forgot about Qualcomm, I need to start keeping a score-card.

Agreed, they’ve historically been dedicated to selling their own tool chain.  Unless there is a decision to stick with PowerPC for the integrated industrial microcontrollers (I don’t know if that’s going to happen) AND a decision to go more in the ARM route for tool support I also don’t expect any support from the vendor.

Peter
-----------------
Peter Dufault
HD Associates, Inc.      Software and System Engineering

This email is delivered through the public internet using protocols subject to interception and tampering.

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to