"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Martijn van Duren <openbsd+got@list.imperialat.at>
Subject:
got fails to build on alpha
To:
"gameoftrees@openbsd.org" <gameoftrees@openbsd.org>
Date:
Fri, 9 Oct 2026 16:15:27 +0200

Download raw body.

Thread
After a long time I took out my alpha again, and tried to build got on
it. It fails to compile with base gcc because of a compiler bug:
cc -O2 -pipe   -MD -MP -I/usr/obj/pobj/got-0.129/got-0.129/libexec/got-fetch-pack/../../include -I/usr/obj/pobj/got-0.129/got-0.129/libexec/got-fetch-pack/../../lib -DGOT_LIBEXECDIR=/usr/local/libexec -DGOT_SBINDIR=/usr/local/sbin -DGOT_VERSION=0.129 -c got-fetch-pack.c
got-fetch-pack.c: In function 'main':
got-fetch-pack.c:1176: error: unrecognizable insn:
(insn 265 264 266 15 (set (reg:DI 332)
        (plus:DI (reg/f:DI 65 virtual-stack-vars)
            (const_int -66052 [0xfffffffffffefdfc]))) -1 (nil)
    (nil))
got-fetch-pack.c:1176: internal compiler error: in extract_insn, at recog.c:2077
Please submit a full bug report,
with preprocessed source if appropriate.

...

cc -O2 -pipe  -MD -MP -I/usr/obj/pobj/got-0.129/got-0.129/gotsh/../include -I/usr/obj/pobj/got-0.129/got-0.129/gotsh/../lib -I/usr/obj/pobj/got-0.129/got-0.129/gotsh/../gotd  -I/usr/obj/pobj/got-0.129/got-0.129/gotsh/../gotwebd -DGOT_LIBEXECDIR=/usr/local/libexec -DGOT_SBINDIR=/usr/local/sbin -DGOT_VERSION=0.129 -nostdinc -idirafter /usr/include -c /usr/obj/pobj/got-0.129/got-0.129/gotsh/../lib/serve.c
/usr/obj/pobj/got-0.129/got-0.129/gotsh/../lib/serve.c: In function 'announce_refs':
/usr/obj/pobj/got-0.129/got-0.129/gotsh/../lib/serve.c:346: error: unrecognizable insn:
(insn 456 455 457 39 (set (reg:DI 242)
        (plus:DI (reg/f:DI 65 virtual-stack-vars)
            (const_int -65580 [0xfffffffffffeffd4]))) -1 (nil)
    (nil))
/usr/obj/pobj/got-0.129/got-0.129/gotsh/../lib/serve.c:346: internal compiler error: in extract_insn, at recog.c:2077
Please submit a full bug report,
with preprocessed source if appropriate.

...

For got-fetch-pack.c I can build it when I comment out most of
fetch_pack(), and for serve.c it fails in got_serve() on serve_read(),
and serve_write() line. Commenting out those two lines fixes that file.

The resulting got binary seems to work as expected for local
repositories.

My system is chugging along towards building gcc-16, so not sure if a
newer gcc will fix the issue just yet, but I thought I already mention
it here.

martijn@