Author Topic: GCC - updates  (Read 81980 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: GCC - updates
« Reply #105 on: Today at 10:15:46 am »
Hi Jochen,
Thanks for the answer. So for a cross compiler setup, we would need a port of these emx tools. The OpenWatcom stuff is already there.
Am I correct? (I know, it's certainly not that easy to do)
For a cross compiler, we'd also need binutils compiled on the host platform with the changes for os2 a.out. We'd probably also need a port of ld.exe that supports EMX a.out for configure tests.

I've thought about a cross compiler a couple of times and it's made my head hurt.

I'd rather spend energy trying to get wlink to work with coff or gas object files - and trying to update the toolchain to support those.

Jochen Schäfer

  • Sr. Member
  • ****
  • Posts: 387
  • Karma: +30/-0
    • View Profile
Re: GCC - updates
« Reply #106 on: Today at 10:22:30 am »
Hi Paul.

Fair enough. I'm just interested, what it would take to have a cross compiler.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: GCC - updates
« Reply #107 on: Today at 10:25:51 am »
Fair enough. I'm just interested, what it would take to have a cross compiler.

Don't get me wrong, there could be definite benefits - for example - building qtwebengine on OS/2 is a PITA due to g++ processes consuming ~2gb of RAM on large compilations, so having to limit the number of ninja processes - building on a modern linux system could allow multiple processes to run without memory exhaustion.

Jochen Schäfer

  • Sr. Member
  • ****
  • Posts: 387
  • Karma: +30/-0
    • View Profile
Re: GCC - updates
« Reply #108 on: Today at 10:53:10 am »
Fair enough. I'm just interested, what it would take to have a cross compiler.

Don't get me wrong, there could be definite benefits - for example - building qtwebengine on OS/2 is a PITA due to g++ processes consuming ~2gb of RAM on large compilations, so having to limit the number of ninja processes - building on a modern linux system could allow multiple processes to run without memory exhaustion.
I'm doing the same for the DOSBOX-X cpu core files.
Another benefit would to have Github actions automatically build the code, so we would some sort of integration test.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5354
  • Karma: +127/-1
    • View Profile
Re: GCC - updates
« Reply #109 on: Today at 05:15:10 pm »
I tried building Qt6 on Linux, it was scarily fast. This I5 went into turbo mode, 3.6 GHz, OS/2 doesn't seem to enable the turbo and stays at 3.2 GHz, and temperatures shot up in this little computer, CPU at close to 90C (60C is about the highest it gets on OS/2) and worse, the NVMe at its max of 85C. Build failed in the webengine and I didn't want to do it again without more cooling.
As for cross-compiling, not only GCC and friends, the EMX toolchain need porting, a lot of other tools have OS/2 specific code. Think of the autotools. Plus there are test programs and such built during a complex build. Some use Rexx too. Possible but a bigger job then likely expected.