Shop Learn
GCC Maintenance / Further Development — Parallax Forums

GCC Maintenance / Further Development

From looking at Parallax's propgcc repository and David Zemon's fork (hosting binaries is appreciated), it appears that maintenance / further development has been dead for more than a year. The apparent lack of active development for propgcc has me a bit concerned about the long term prospects of using C and/or C++ with the Propeller 1 (and eventually 2) for both professional and personal projects. Of particular interest to me are the language features that have been / are being added in C++11/14/17.

Is there any interest on here in resurrecting propgcc development? Seeing that I have both a personal and professional interest in having further development of propgcc, I'd be willing to contribute a few hours a week to such an effort assuming enough people would get involved to make it feasible.

Comments

  • There have not been any new additions to the C standards in the timeframe, yes there are GCC specific extensions, though most of those make no sense for the P8X32A.

    As to continued usefulness, it works it will continue to work for as long as it exists and the Prop exists. That is it does not matter if it has been updated, it does the job it needs to do.

    Personally I prefer SPIN and PASM on the Propeller, though some like C even on the Prop.
  • It's open source and could be improved by anybody who's interested in contributing. At some point in the near future most of Parallax's business will be based on the GCC compiler.

    This is the first discussion I've seen around improving GCC. What specific improvements would you like to see?
  • Updating the frontend to be a newer gcc version with C++11 and C++14 features would be nice, and shouldn't be a big deal, it's the backend that was all the work.

    ersmith or David betz or Dave Hein might know if there are some gotcha's that I am not aware of...
  • ErNaErNa Posts: 1,672
    edited 2017-02-28 17:54
    This seems to be the right topic in the wrong place. If I'm new to a scene I first watch for about a year to see what changes und then I first decide by myself if I'm in the right place. If yes, I try to ask questions that put not things in question but questions I need answers for.
    Now back to work, guys!
  • The propgcc repository in the Parallax GitHub account is not where the active PropGCC development has been taking place. There have been quite a few significant changes made to PropGCC since the version Parallax is currently using in SimpleIDE and all of the recent development has been happening in the propeller-gcc repository in my GitHub account. This is actually just a shell repository that includes as submodules a number of other repositories that have been under fairly active development. There are two ways to build the propeller-gcc repository. One uses GCC4 and is equivalent to the default branch of the old propgcc repository and the other uses a more recent (I think current) version of GCC6. None of these improvements have been adopted by Parallax as of yet. Also, both builds use a newer version of binutils.

    Here is a link to the propeller-gcc repository:

    https://github.com/dbetz/propeller-gcc

    This is where P2 PropGCC work will be done when it is started.
  • David,
    That's excellent! Thank you!
  • jmgjmg Posts: 14,852
    David Betz wrote: »
    The propgcc repository in the Parallax GitHub account is not where the active PropGCC development has been taking place. There have been quite a few significant changes made to PropGCC since the version Parallax is currently using in SimpleIDE and all of the recent development has been happening in the propeller-gcc repository in my GitHub account..

    Maybe the Parallax main page, needs to have both the 'stable' and 'development' links mention ?


  • jmg wrote: »
    David Betz wrote: »
    The propgcc repository in the Parallax GitHub account is not where the active PropGCC development has been taking place. There have been quite a few significant changes made to PropGCC since the version Parallax is currently using in SimpleIDE and all of the recent development has been happening in the propeller-gcc repository in my GitHub account..

    Maybe the Parallax main page, needs to have both the 'stable' and 'development' links mention ?

    If you mean a full SimpleIDE development version that would have to be created by Parallax.

  • It seems like there should be some housekeeping done on PropGCC before going to a later version of GCC. The PropGCC version that is included with SimpleIDE is old, and it doesn't include many of the fixes that have been done over the past couple of years. The last time we discussed this it was mention that the latest PropGCC source has some incompatibilities with the simple tools libraries. These incompatibilities should be fixed so that SimpleIDE uses the latest fixes and optimizations.
  • Dave Hein wrote: »
    It seems like there should be some housekeeping done on PropGCC before going to a later version of GCC. The PropGCC version that is included with SimpleIDE is old, and it doesn't include many of the fixes that have been done over the past couple of years. The last time we discussed this it was mention that the latest PropGCC source has some incompatibilities with the simple tools libraries. These incompatibilities should be fixed so that SimpleIDE uses the latest fixes and optimizations.
    Yes, that is true. Unfortunately, I don't think Parallax ever has the time to track down these problems. Thus we're stuck with a very old PropGCC even though considerable work has been done to improve it. Maybe Parallax would be open to a community project to validate the Simple Libraries with the latest PropGCC?

  • David Betz wrote: »
    The propgcc repository in the Parallax GitHub account is not where the active PropGCC development has been taking place. There have been quite a few significant changes made to PropGCC since the version Parallax is currently using in SimpleIDE and all of the recent development has been happening in the propeller-gcc repository in my GitHub account. This is actually just a shell repository that includes as submodules a number of other repositories that have been under fairly active development. There are two ways to build the propeller-gcc repository. One uses GCC4 and is equivalent to the default branch of the old propgcc repository and the other uses a more recent (I think current) version of GCC6. None of these improvements have been adopted by Parallax as of yet. Also, both builds use a newer version of binutils.

    Here is a link to the propeller-gcc repository:

    https://github.com/dbetz/propeller-gcc

    This is where P2 PropGCC work will be done when it is started.

    This certainly alleviates my concerns, thanks.

    I just built the GCC 6 version and both propeller-elf-gcc and propeller-elf-g++ are reporting version 6.0.0 which isn't the most recent (6.3, which was released on 2016/12/21). I won't be using this experimental build for professional work, but I will be trying it out for hobby stuff.
  • David Betz wrote: »
    The propgcc repository in the Parallax GitHub account is not where the active PropGCC development has been taking place. There have been quite a few significant changes made to PropGCC since the version Parallax is currently using in SimpleIDE and all of the recent development has been happening in the propeller-gcc repository in my GitHub account. This is actually just a shell repository that includes as submodules a number of other repositories that have been under fairly active development. There are two ways to build the propeller-gcc repository. One uses GCC4 and is equivalent to the default branch of the old propgcc repository and the other uses a more recent (I think current) version of GCC6. None of these improvements have been adopted by Parallax as of yet. Also, both builds use a newer version of binutils.

    Here is a link to the propeller-gcc repository:

    https://github.com/dbetz/propeller-gcc

    This is where P2 PropGCC work will be done when it is started.

    This certainly alleviates my concerns, thanks.

    I just built the GCC 6 version and both propeller-elf-gcc and propeller-elf-g++ are reporting version 6.0.0 which isn't the most recent (6.3, which was released on 2016/12/21). I won't be using this experimental build for professional work, but I will be trying it out for hobby stuff.
    Please let us know if you run into any problems with it.

  • Ken Gracey wrote: »
    It's open source and could be improved by anybody who's interested in contributing. At some point in the near future most of Parallax's business will be based on the GCC compiler.

    This is the first discussion I've seen around improving GCC. What specific improvements would you like to see?

    I'm mainly interested in Propeller GCC using a newer version of GCC to get access to better support for the C/C++ language updates that are ongoing (particularly C++), and optimizer improvements. When I originally posted, I was just hoping for an effort to bring it up to the 4.9 release series of GCC but now I know the development effort is ongoing and has jumped to the 6 release series.
  • Ken Gracey wrote: »
    It's open source and could be improved by anybody who's interested in contributing. At some point in the near future most of Parallax's business will be based on the GCC compiler.

    This is the first discussion I've seen around improving GCC. What specific improvements would you like to see?

    I'm mainly interested in Propeller GCC using a newer version of GCC to get access to better support for the C/C++ language updates that are ongoing (particularly C++), and optimizer improvements. When I originally posted, I was just hoping for an effort to bring it up to the 4.9 release series of GCC but now I know the development effort is ongoing and has jumped to the 6 release series.
    FYI, most of these improvements are thanks to Eric Smith's work. He moved us to new versions of GCC and binutils.
  • David Betz wrote: »
    Please let us know if you run into any problems with it.

    Will do.
    David Betz wrote: »
    FYI, most of these improvements are thanks to Eric Smith's work. He moved us to new versions of GCC and binutils.

    Thanks for the info. The work of everyone involved in bringing C/C++ to the Propeller (and these on going efforts) is very appreciated.
Sign In or Register to comment.