Author Topic: GCC - updates  (Read 82404 times)

Steven Levine

  • Jr. Member
  • **
  • Posts: 67
  • Karma: +12/-0
    • View Profile
Re: GCC - updates
« Reply #90 on: February 23, 2025, 09:28:40 pm »
I can be so brain-dead.  In hindsight the answer to my question is obviously gcc -v.

IAC, I may have found a way toward a solution.  A bit of poking about indicates that the kernel can return ERROR_BUSY if an allocation request for contiguous linear address space fails.  I guess the logic is that this might be a temporary resource limit.

I need to carve out some quality time with the kernel debugger to fully understand where the ERROR_BUSY is coming from.

This convinced me to try highmem -d on a corrected version of Knut's testcase.  Unfortunately highmem marks both the data and stack objects to load high which causes the testcase to trap.  Oops.  exehdr supports marking specific objects, but so far, it's trapping when asked to mark the testcase.

More later...

Exehdr was trapping because it cannot handle long names.  After renaming the testcase to 8.3 format, exehdr marked object 2 to load high.  Unfortunately, this did not avoid the fork failure.
« Last Edit: February 24, 2025, 07:23:29 am by Steven Levine »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: GCC - updates
« Reply #91 on: April 26, 2025, 03:09:31 am »
Building the release version of GCC 15.1.0 now - I expect the forking will still be a problem...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: GCC - updates
« Reply #92 on: April 26, 2025, 10:10:28 am »
Building the release version of GCC 15.1.0 now - I expect the forking will still be a problem...

Code: [Select]
gcc.exe (GCC) 15.1.0
Copyright (C) 2025 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.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: GCC - updates
« Reply #93 on: April 27, 2025, 02:39:50 am »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5355
  • Karma: +127/-1
    • View Profile
Re: GCC - updates
« Reply #94 on: April 27, 2025, 05:12:51 am »
404

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: GCC - updates
« Reply #95 on: April 27, 2025, 05:40:17 am »
Sorry, try again...

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5355
  • Karma: +127/-1
    • View Profile
Re: GCC - updates
« Reply #96 on: April 27, 2025, 05:51:33 am »
Thanks, working

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: GCC - updates
« Reply #97 on: April 27, 2025, 10:10:12 am »
I've now built GCC 15.1.0, apache2 and php 8.1 with gcc15.1.0.

I haven't (yet) tried to build with multiple jobs - I suspect this will fail like 15.0.1 did... (ie due to apparent fork()n bugs/limitiations in libc)

Edit: interestingly, qt6-base-os2 appears to be building fine with GCC 15.1.0 - so appears the problems with fork were due to something that was only in the GCC beta code <shrug>
« Last Edit: April 27, 2025, 11:06:17 am by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: GCC - updates
« Reply #98 on: April 27, 2025, 11:13:39 am »
Hey Steven,
I'll get you a debug cc1plus.exe once it's rebuilt.

Code: [Select]
à ## Ä Base ÄÄÄ Size ÄÄRÄWÄEÄResÄDisÄShrÄPreÄInvÄSwpÄRsdÄLocÄA16Ä32BÄCnfÄIOPÄ
³  2 032A0000 00B760A0 û û                                        û         

So 12017824 bytes or 12,017,824 - so shouldn't be an issue?

For cc1plus from 15.1.0:
Code: [Select]
à ## Ä Base ÄÄÄ Size ÄÄRÄWÄEÄResÄDisÄShrÄPreÄInvÄSwpÄRsdÄLocÄA16Ä32BÄCnfÄIOPÄ
³  2 02690000 005B97F0 û û                                        û         

005B97F0 = 6,002,672 - so half the size of 15.0.1

GCC 14.3.0- cc1plus.map - 2.8mb
GCC 15.0.1 - cc1plus.map - 19.7mb
GCC 15.1.0 - cc1plus.map - 3.5mb
« Last Edit: April 27, 2025, 11:47:00 am by Paul Smedley »

KO Myung-Hun

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +11/-0
    • View Profile
Re: GCC - updates
« Reply #99 on: April 28, 2025, 11:35:03 am »
This has no problems at all with my regression tests, and works fine with 'make -jx'.

Thanks!

TeLLie

  • Sr. Member
  • ****
  • Posts: 278
  • Karma: +16/-0
    • View Profile
Re: GCC - updates
« Reply #100 on: April 28, 2025, 12:36:18 pm »
Hi Paul,

This versions works very well.
Also the -jx  works ok

Greetz Tellie

Jochen Schäfer

  • Sr. Member
  • ****
  • Posts: 387
  • Karma: +30/-0
    • View Profile
Re: GCC - updates
« Reply #101 on: April 28, 2025, 02:44:56 pm »
Just a question: What are we doing to produce OS/2 binaries?
Do we call emxomf, wlink etc. to convert the binaries?

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5355
  • Karma: +127/-1
    • View Profile
Re: GCC - updates
« Reply #102 on: April 28, 2025, 11:28:59 pm »
Just a question: What are we doing to produce OS/2 binaries?
Do we call emxomf, wlink etc. to convert the binaries?

Set up your environment and then the usual gcc flags work.
My gcc1510env.cmd is attached, adjust if needed. Put it on your PATH, execute in a cmd session, check by running gcc-v, then use as older GCC's

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: GCC - updates
« Reply #103 on: April 29, 2025, 07:26:06 am »
Expanding on Dave's comments, I tend to compile in a.out (the default) but then link with -Zomf which makes the compiler invoke emxomfld which uses emxomf and wlink to make the executables or DLLs.

This code is all basically evolved from the earlier gcc 3.x builds.

Jochen Schäfer

  • Sr. Member
  • ****
  • Posts: 387
  • Karma: +30/-0
    • View Profile
Re: GCC - updates
« Reply #104 on: April 29, 2025, 09:12:20 am »
Hi Paul.

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)