Author Topic: GCC - updates  (Read 2294 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1021
  • Karma: +95/-0
    • View Profile
GCC - updates
« on: March 16, 2022, 09:57:02 am »
Hi  All,

These have all been posted in the FORTRAN thread (https://www.os2world.com/forum/index.php?topic=3017), however people may  not have realised that I've updated GCC recently.

I built:
- GCC 9.4.0 - https://smedley.id.au/tmp/gcc-9.4.0-os2-20220314b.zip
- GCC 10.3.0 - https://smedley.id.au/tmp/gcc-10.3.0-os2-20220314.zip
- GCC 11.2.0 -  https://smedley.id.au/tmp/gcc-11.2.0-os2-20220316.zip

These have  had various degrees of testing, and importantly, Dave has had issues building XUL.DLL from Mozilla with my builds vs the latest BWW builds.

Any and all feedback appreciated :)

Cheers,

Paul

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1021
  • Karma: +95/-0
    • View Profile
Re: GCC - updates
« Reply #1 on: March 20, 2022, 05:07:26 am »
Update for GCC  11.2.0: https://smedley.id.au/tmp/gcc-11.2.0-os2-20220320.zip

Rebuilt with -Os vs -O2  which avoids a compiler SIGSEGV on certain source  files.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1021
  • Karma: +95/-0
    • View Profile
Re: GCC - updates
« Reply #2 on: March 26, 2022, 07:21:38 am »
More updates:
https://smedley.id.au/tmp/gcc-11.2.0-os2-20220326.zip

With help from Steven, the cause of the SIGSEGV has been found :) This seems pretty solid now!

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1021
  • Karma: +95/-0
    • View Profile
Re: GCC - updates
« Reply #3 on: April 22, 2022, 01:26:32 am »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1021
  • Karma: +95/-0
    • View Profile
Re: GCC - updates
« Reply #4 on: May 07, 2022, 11:36:39 am »
[U:\DEV]gcc --version
gcc (GCC) 12.1.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Neil Waldhauer

  • Hero Member
  • *****
  • Posts: 839
  • Karma: +21/-0
    • View Profile
    • Blonde Guy
Re: GCC - updates
« Reply #5 on: May 07, 2022, 03:11:51 pm »
Wasn't 12.1 released yesterday?
Expert consulting for ArcaOS, OS/2 and eComStation
http://www.blondeguy.com

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1021
  • Karma: +95/-0
    • View Profile
Re: GCC - updates
« Reply #6 on: May 07, 2022, 11:47:40 pm »
Wasn't 12.1 released yesterday?
I got the announcement email on the evening of May 6th (.au time  zone).

There were only a couple of small patches required, doing more testing now,  I'll post a link later today hopefully.

Interestingly, from the release notes:
Code: [Select]
This release deprecates support for the STABS debugging format and
introduces support for the CTF debugging format [1].

Dave Yeo

  • Hero Member
  • *****
  • Posts: 3664
  • Karma: +77/-0
    • View Profile
Re: GCC - updates
« Reply #7 on: May 08, 2022, 01:11:31 am »
How hard would it be to maintain stabs support in your fork? And whatever happened with aout being depreciated?

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1021
  • Karma: +95/-0
    • View Profile
Re: GCC - updates
« Reply #8 on: May 08, 2022, 01:38:15 am »
Hey Dave,

How hard would it be to maintain stabs support in your fork? And whatever happened with aout being depreciated?

No idea re: stabs support. Of course deprecated doesn't *necessarily* mean immediate removal in the next version. There is a bunch of stuff in Samba that is deprecated - but not yet removed. ie SMB1 support.

aout is simpler - gcc only produced assembly - it's the assembler that takes that assembly and turns it into the right object format. So long as long as we have a working version of gas,  we should be ok.

Link to the 12.1.0 build is https://smedley.id.au/tmp/gcc-12.1.0-os2-20220509.zip

Tested:
- building GCC 12.1.10
- building PHP 8.1.5
- building openssl 1.1.1o
- building apr-1.7.0

All seems fine so far, but YMMV

Cheers,

Paul

PS General reminder that if you want to  support future ports there's a Paypal link at https://os2ports.smedley.id.au or it can also be done via the AN store at https://www.arcanoae.com/shop/os2-ports-paul-smedley/

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1021
  • Karma: +95/-0
    • View Profile
Re: GCC - updates
« Reply #9 on: May 12, 2022, 11:53:45 am »
Not that it  seems there's a great deal  (any?) interest, but I'm getting some SIGSEGV building some code today with GCC 12.1.0, really not sure why yet.  Will investigate as time permits.

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1135
  • Karma: +24/-0
    • View Profile
Re: GCC - updates
« Reply #10 on: June 10, 2022, 05:11:56 pm »
Paul, everyone...

Not that it  seems there's a great deal  (any?) interest...

This always interests me, however I will honestly say I simply do not know how best to "deploy" the non-RPM versions on my machine, which already has the official "gcc (GCC) 9.2.0 20190812 (OS/2 RPM build 9.2.0-5.oc00)" version installed.

I dread the thought of messing this working install up.

So is there a recommendation/standard way to deploy different GCC versions? Those of you who are doing so, what approach are you taking? I'm talking about not just getting the binaries out there, but are you not building GCC version specific environment setup CMDs?, etc???

I suppose a follow-up to the above really is: to what extent can the on-line multi-version-GCC deployment instructions be readily applied in our OS/2 environment?

Thanks for all the work!

Dave Yeo

  • Hero Member
  • *****
  • Posts: 3664
  • Karma: +77/-0
    • View Profile
Re: GCC - updates
« Reply #11 on: June 10, 2022, 05:38:26 pm »
Hi Dariusz,
What I do is unzip the GCC to @unixroot/usr so using GCC 9.4.0 as an example, I have w:\usr\local940. Then in @unixroot/usr/bin I have the attached gcc940env.cmd and run that in the command window where I want to use the new GCC. Line 74 is where you point to the local940 or whichever GCC,
Code: [Select]
call GCC322plus sPath, 'gcc940', 0, sLinker;Adjust the gcc940 line to whichever GCC you're using, I have multiple gcc*env.cmd files for different GCC versions.
Should really double check that this includes all the C++ stuff, KOMH originally did the cmd file quite a while back.