Update on modules implementation
Jose E. Marchesi
jemarch@gnu.org
Thu Nov 20 00:47:33 GMT 2025
Ok so tonight the modularized godcc finally compiled and linked
properly:
$ make
Making all in src
make[1]: Entering directory '/home/jemarch/gnu/hacks/godcc/build/src'
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -c -o utils.o ../../src/utils.a68
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -c -o argp.o ../../src/argp.a68
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -c -o http.o ../../src/http.a68
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -c -o json.o ../../src/json.a68
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -c -o ce.o ../../src/ce.a68
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -c -o list.o ../../src/list.a68
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -c -o compile.o ../../src/compile.a68
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -c -o format.o ../../src/format.a68
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -c -o godcc.o ../../src/godcc.a68
ga68 -fcheck=nil -Whidden-declarations=prelude -g -O2 -o godcc utils.o argp.o http.o json.o ce.o list.o compile.o format.o godcc.o
make[1]: Leaving directory '/home/jemarch/gnu/hacks/godcc/build/src'
The built godcc runs, but some of the operations lead to a segfault. I
launched GDB, and as you can see below the DWARF we generate is not
totally bollocks, as I can get some useful info and also a backtrace:
$ gdb ./src/godcc
[...]
(gdb) set args list languages
(gdb) run
Starting program: /home/jemarch/gnu/hacks/godcc/build/src/godcc list languages
Program received signal SIGSEGV, Segmentation fault.
__memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:396
396 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) up
#1 0x0000000000408f8c in CE_ceconnect () at ../../src/ce.a68:47
47 if (ce_socket := fconnect (ce_host, ce_port)) = -1
(gdb) bt
#0 __memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:396
#1 0x0000000000408f8c in CE_ceconnect () at ../../src/ce.a68:47
#2 0x000000000040b21b in listlanguages () at ../../src/list.a68:29
#3 0x000000000040bc4d in routine4212 (pos=4, arg=...) at ../../src/list.a68:77
#4 0x00000000004028aa in ARGP_argp (p=p@entry=3, opts=...,
noopthandler=noopthandler@entry=0x40bbb0 <routine4212>,
errorhandler=errorhandler@entry=0x40ad20 <LIST_error>) at ../../src/argp.a68:86
#5 0x000000000040c157 in LIST_godcclist (pos=pos@entry=3) at ../../src/list.a68:75
#6 0x000000000040f07a in routine4131 (pos=3, nooptarg=...) at ../../src/godcc.a68:100
#7 0x00000000004028aa in ARGP_argp (p=p@entry=2, opts=..., noopthandler=noopthandler@entry=0x7fffffffe599,
errorhandler=errorhandler@entry=0x7fffffffe5ed) at ../../src/argp.a68:86
#8 0x000000000040fbf2 in __algol68_main () at ../../src/godcc.a68:94
#9 0x00000000004011ab in main (argc=<optimized out>, argv=<optimized out>) at ../../../libga68/libga68.c:50
At this point we definitely should start with the GDB support... I want
to see what is in ce_host ^^
Salud!
More information about the Algol68
mailing list