On 22/03/13 16:18, David Edelsohn wrote:
> On Fri, Mar 22, 2013 at 6:28 AM, David Brown <da...@westcontrol.com> wrote:
> 
>> I use Freescale PPC devices with VLE, and I use Freescale's CodeWarrior
>> to do so.  At the start of the project, I looked at CodeSourcery's
>> PPC-EABI tools (I have used CodeSourcery's gcc tools for other targets)
>> - but without VLE support, I had to pick something else.  VLE can make a
>> very big difference to performance and code space, and is particularly
>> relevant for the smaller PPC microcontrollers (smaller code size means
>> better use of caches, internal buses, etc., for significantly faster code).
> 
> I fully appreciate that VLE can provide a lot of benefit and
> advantages.  I want to encourage use of and adoption of PowerPC,
> including VLE.
> 
>> Is it worth the time and money for companies like Freescale and
>> CodeSourcery (Mentor) to pay for VLE integration and better PPC/MPC
>> support in gcc?  I have no idea - I don't know the numbers at all.  But
>> I do know that one of the reasons that ARM Cortex devices are so popular
>> in embedded systems is the easy availability of good quality tools,
>> mostly based on gcc.  If Freescale wants more small developers to buy
>> their MPC parts (and that seems to be an aim), they should be doing what
>> they can here for gcc support.
> 
> The problem is parts of the VLE patches are very invasive and disrupt
> the common parts of the PowerPC port, including making it more
> difficult to maintain the common and non-VLE parts of the PowerPC
> port.
> 
> I was very accommodating of the patches to support Freescale e500,
> SPE, and FP in GPRs, despite their impact on the PowerPC port.  That
> did not lead to greater GCC community engagement or contributions from
> Freescale or the e500 community -- neither maintaining the support for
> Freescale processors nor improving any common GCC features to benefit
> and exploit PowerPC in general or e500/SPE specifically.  The
> organizations who contributed the patches have not maintained them and
> the burden has fallen to me and the other non-e500 PowerPC developers.
>  The only communication we receive is that we broke e500.
> 
> It is my understanding that Freescale has made no commitment to
> maintaining the VLE support patches in the GCC repository, neither
> themselves nor funding another organization.
> 
> ARM has a very successful ecosystem, but ARM Ltd has an interest in
> all of the ARM ISAs (ARM, Thumb, Thumb2, AArch64) and has contributed
> to maintaining GCC support -- either directly or funding organizations
> to perform the work.
> 
>> Finally, and I ask this as someone with no idea about the gcc internals
>> here, is it perhaps worth splitting the Power and the PowerPC
>> architectures?  As far as I can see, despite their common ancestry there
>> are significant differences in many of the details, and they are
>> diverging with each new generation of device.  They also seem to be
>> aimed at very different uses - Power is used on big systems, while
>> PowerPC is very much for embedded systems.  I can't imagine many people
>> have need of a single gcc build that supports both families.  Splitting
>> the target would mean changes to the PPC support would not affect the
>> RS6000 support.  (Of course, it may cause more problems - as I say, I
>> don't know about the internals here.  I'm just throwing around some
>> ideas - if they are worthless, feel free to throw them away!.)
> 
> This option has been discussed.  Much of the port is common and
> duplicating the port creates its own maintenance issue where someone
> needs to merge the changes into the corresponding port.  Whether a
> single port or split into two ports, someone needs to take
> responsibility for the maintenance.  A port without a maintainer will
> not be accepted, and if the port is not maintained, it will be
> deprecated and removed.
> 
> If Freescale and/or developers for its processors want VLE support
> merged into GCC, they need to make a larger, visible, long-term
> commitment to contribute to GCC and support for their ISA differences.
> 
> Thanks, David
> 

Thanks for that explanation.  I can well understand the problems you
have here - it is not uncommon in the open source world for people to
contribute code then leave it for others to maintain, and also not
uncommon for the commercial beneficiaries (Freescale in this case) to
fail to pull their weight.  My understanding is that Freescale
contributes/has contributed to gcc, and they certainly make use of gcc
as they encourage the use of embedded Linux and Android.

Could it be a matter of contacting the right people or pulling the right
strings to persuade them to help with the code, the time, or the money?
 Perhaps CodeSourcery, with the weight of Mentor Graphics behind them,
can be a useful influence here - and they have plenty to gain from the
best possible gcc support of these devices since they sell toolchains
for them?  But I suppose the CodeSourcery people have already thought of
this.

mvh.,

David

Reply via email to