[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gm2] ulm 64bit crash
From: |
Gaius Mulley |
Subject: |
Re: [Gm2] ulm 64bit crash |
Date: |
10 Jan 2006 21:41:00 +0000 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
John B Wallace Jr <address@hidden> writes:
> There is still a problem using the ulm libraries with the 64bit version of
> SUSE 9.3 on an Athlon 64. HelloWorld still crashes with a segmentation fault
> during execution. HelloWorld builds and executes without errors under the
> 32bit version of SUSE 9.3.
>
>
> MODULE HelloWorld;
>
> FROM InOut IMPORT WriteString, WriteLn;
>
> BEGIN
> WriteString("Hello World!"); WriteLn;
> END HelloWorld.
>
>
> address@hidden:~/gm2/new> gm2 -g -I. -Wlibs=ulm -Wcheck-all -Wmakeall -o
> HelloWorld HelloWorld.mod
> gm2 -c -Wmakeall0 -g -Wtarget-ranlib=ranlib -Wtarget-ar=/usr/bin/ar
> -Wlibs=ulm
> -Wcheck-all -Wmakeall
> -I.:/home/john/opt/lib/gcc-lib/x86_64-unknown-linux-gnu/3.3.6/gm2/ulm:/home/john/opt/lib/gcc-lib/x86_64-unknown-linux-gnu/3.3.6/gm2/pim
>
> HelloWorld.mod
> address@hidden:~/gm2/new> ./HelloWorld
> Segmentation fault
Hi John,
after some digging around, I think the problem is that the Ulm library
uses the SunOS termio record and GNU/Linux (and other) termio structs
maybe a different size. The easiest way to fix this is to rewrite this
module to use a functional interface - and not to export records and
termio constants. It appears that the only Ulm library to use
SysTermIO is GetPass (and StdIO). Does anyone have any objections to
my proposed alterations of the definition module and removing the
termio record and associated constants?
regards,
Gaius