Decide which GCC version to port #4

Closed
opened 2026-01-29 22:21:55 +00:00 by claunia · 2 comments
Owner

Originally created by @dmik on GitHub (Nov 15, 2019).

Originally assigned to: @dmik on GitHub.

Our current port (i.e. the one maintaned by bww) is 4.9.2. This is a very old version (back from 2014). More and more projects refuse to build with that due to newer C++ features they need. One example is Chromium (see https://github.com/bitwiseworks/qtwebengine-os2/issues/3). The other one is poppler.

The 4.9.2 source code with our OS/2 patches lives here: https://github.com/psmedley/gcc/tree/gcc-4_9-branch-os2. That repository has a number of problems:

  1. It's a fork so it contains quite a huge upstream development history which we don't need. It only bloats the respository size and distracts attention from OS/2-specific tasks.
  2. It's not controlled by bww so may disappear at any moment (which will break our development and deployment environment).

For this reason, we need a new repository. And given 1. above, we will use the same upstream source import technique we used for our port of Qt to OS/2. It's described well here: https://github.com/bitwiseworks/qt5-os2/wiki/Developers.

We also need to decide which version to go. There are two candidates: 8.x and 9.x (check https://www.gnu.org/software/gcc/develop.html for the official development plan). 8.x is a bit more stable as it's a bit older. And 9.x is the latest stable release which will most likely get important updates soon. Also, 8.x has been already successfully built on OS/2 by Paul Smedley (https://os2ports.smedley.id.au/index.php?page=gcc-v8.x) so chances are higher that we won't experience any major problems when porting it rather than with 9.x. However, there is also a chance that if we go for 8.x now then we might end up porting some things twice when later moving to 9.x which I'd like to avoid. Some more investigation is needed.

Originally created by @dmik on GitHub (Nov 15, 2019). Originally assigned to: @dmik on GitHub. Our current port (i.e. the one maintaned by bww) is 4.9.2. This is a very old version (back from 2014). More and more projects refuse to build with that due to newer C++ features they need. One example is Chromium (see https://github.com/bitwiseworks/qtwebengine-os2/issues/3). The other one is poppler. The 4.9.2 source code with our OS/2 patches lives here: https://github.com/psmedley/gcc/tree/gcc-4_9-branch-os2. That repository has a number of problems: 1. It's a fork so it contains quite a huge upstream development history which we don't need. It only bloats the respository size and distracts attention from OS/2-specific tasks. 2. It's not controlled by bww so may disappear at any moment (which will break our development and deployment environment). For this reason, we need a new repository. And given 1. above, we will use the same upstream source import technique we used for our port of Qt to OS/2. It's described well here: https://github.com/bitwiseworks/qt5-os2/wiki/Developers. We also need to decide which version to go. There are two candidates: 8.x and 9.x (check https://www.gnu.org/software/gcc/develop.html for the official development plan). 8.x is a bit more stable as it's a bit older. And 9.x is the latest stable release which will most likely get important updates soon. Also, 8.x has been already successfully built on OS/2 by Paul Smedley (https://os2ports.smedley.id.au/index.php?page=gcc-v8.x) so chances are higher that we won't experience any major problems when porting it rather than with 9.x. However, there is also a chance that if we go for 8.x now then we might end up porting some things twice when later moving to 9.x which I'd like to avoid. Some more investigation is needed.
Author
Owner

@dmik commented on GitHub (Nov 15, 2019):

From what I read in GCC 9's https://www.gnu.org/software/gcc/gcc-9/changes.html, there aren't that many changes that could affect our OS/2 port compared to GCC 8 (https://www.gnu.org/software/gcc/gcc-8/changes.html). So now I lean to going with GCC 9.

@dmik commented on GitHub (Nov 15, 2019): From what I read in GCC 9's https://www.gnu.org/software/gcc/gcc-9/changes.html, there aren't that many changes that could affect our OS/2 port compared to GCC 8 (https://www.gnu.org/software/gcc/gcc-8/changes.html). So now I lean to going with GCC 9.
Author
Owner

@dmik commented on GitHub (Nov 21, 2019):

GCC 9.2.0 will be a way to go. The vendor tree is committed and OS/2 patches are on their way (#2).

@dmik commented on GitHub (Nov 21, 2019): GCC 9.2.0 will be a way to go. The vendor tree is committed and OS/2 patches are on their way (#2).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bitwiseworks/gcc-os2#4