Index | Thread | Search

From:
Kirill A. Korinsky <kirill@korins.ky>
Subject:
lang/gcc: update to 15.x, need help with testing
To:
OpenBSD ports <ports@openbsd.org>
Date:
Mon, 04 Aug 2025 10:03:18 +0200

Download raw body.

Thread
ports@,

here is a work-in-progress update for lang/gcc to version 15.x, and I
would like to ask for your help with testing.

I've also attached the intermediate versions which I've created during
this process to update patches.

To make this update possible, I had to sacrifice the dlang. Starting
with gcc-12, the build process requires a working GDC to bootstrap
itself. Attempting to use the GDC from gcc-11 results in the error:

/build/pobj/gcc-12.4.0/gcc-12.4.0/libphobos/libdruntime/core/sys/openbsd/execinfo.d:156:1: error: declaration expected, not 'module'
  156 | module core.sys.openbsd.execinfo;
      | ^

Furthermore, my investigation revealed that dlang has been broken since
at least version 7.5, as it fails to compile a simple program:

$ cat test.d
import std.stdio;

void main()
{
    writeln("Hello, World!");
}
$ egdc test.d
ld: error: undefined symbol: fiber_switchContext
>>> referenced by fiber.d:1643 (/usr/obj/ports/gcc-11.2.0/gcc-11.2.0/libphobos/libdruntime/core/thread/fiber.d:1643)
>>>               fiber.o:(_D4core6thread5fiber5Fiber9switchOutMFNbNiZv) in archive /usr/local/lib/gcc/x86_64-unknown-openbsd/11.2.0/../../../libgphobos.a
>>> referenced by fiber.d:1610 (/usr/obj/ports/gcc-11.2.0/gcc-11.2.0/libphobos/libdruntime/core/thread/fiber.d:1610)
>>>               fiber.o:(_D4core6thread5fiber5Fiber8switchInMFNbNiZv) in archive /usr/local/lib/gcc/x86_64-unknown-openbsd/11.2.0/../../../libgphobos.a
collect2: error: ld returned 1 exit status
$

Given this, removing dlang to unblock the GCC update seems acceptable.

I have successfully tested the new GCC on -current/amd64 by building the
port and compiling some basic C++ programs.

I'm now requesting help to test this update on other archs. I'll handle
arm64, but I don't have access to other archs. I would appreciate it if you
could either test or provide me with access to do so myself.

If gcc-15 fails, please try the previous intermediate versions I've
attached to see if any of them work.

Please note that I have not cleaned up the patches yet; my priority was
to get the update functional. I plan to simplify them as a next step.

Thank you.

-- 
wbr, Kirill