The beta3s.lib you supplied crashes with this:
[root] /home/root # cc -b -ltonybeta3s.lib -lunix -3s conftest.c
/usr/watcom/10.6/bin/wcc386 -zq -ms -3s -i=/usr/watcom/10.6/usr/include -i=/usr/include
/usr/watcom/10.6/bin/wlink op quiet form qnx flat na a.out op priv=3 op c
libp /usr/watcom/10.6/usr/lib:/usr/lib:. l
/usr/watcom/10.6/usr/lib/beta3s.lib l /usr/lib/tonybeta3s.lib l
/usr/watcom/10.6/usr/lib/unix3s.lib f /home/root/conftest.o op offset=40k op
[root] /home/root # ./a.out
//1/home/root/a.out terminated (SIGSEGV) at 10AB:00006852.
%1 24760 Memory fault ./a.out
[root] /home/root #
Note this is not 2.0.7 itself, but rather the autoconf function (one of many
struct statfs fsd;
exit (statfs(".", &fsd, sizeof fsd, 0));
For the sake of brevity.
Tony" <> firstname.lastname@example.org> > wrote in message
On Sun, 06 Nov 2005 04:58:39 +0300, Dave Page <> email@example.com> > wrote:
/usr/watcom/10.6/usr/lib # ls -l unix3s*
-rw-r–r-- 1 root root 97280 Jun 15 2000 unix3s.lib
-rw-r–r-- 1 root root 88064 Dec 16 1996
Did you link with the newer unix3s.lib when it SIGSEGVed?
My non-working clib3s has the following signature:
/usr/watcom/10.6/usr/lib # ls -l clib3s.lib
-rw-r–r-- 1 root root 390656 Jul 14 1997 clib3s.lib
/usr/watcom/10.6/usr/lib # cksum clib3s.lib
3509738583 390656 clib3s.lib
Mine is exactly the same!
Everything regarding the QNX4 tool-chain quality concerns me very much.
I guess. It seems pretty reliable to me, as long as you steer clear of
the known deficiencies (disk_space() in 3s, Watcom Graphics, and threads).
Though, I use threads (in a clib restricted fashion) without much trouble
(my use analagous to “slow ISRs” in Linux) .And I use Watcom graphics
extensively, though with an old Proc32 (4.24G).
The only mysterious problem I see with QNX4 is random >1mSec hangs in
the network layer – but I can’t prove anything, as they occur too
infrequently to diagnose.
From what I’ve seen of the asm output, the Watcom tool chain is far
better than GCC. So, can’t win for losing. For this reason, I am reticent to
port to Neutrino, though I realize the GCC hit is amelorated by the increase
in CPU performance, over time.
Are you sure the bug is in the clib3s.lib rather than in unix3s.lib? I
know of the issue with pre-security_patch version of unix3s.lib - “-3r”
flags on some (scandir.o I suspect) objects there.
The statfs test routine from samba 2.0.7 autoconf compiles ok with
register convention (3r) but SIGSEGVs with stack convention (3s).
Out of curiosity - could you please try the samba 2.0.7 in “-3s” mode with
the attached “beta3s.lib” - will it SIGSEGV too? (You’ll have to tell cc
to use the beta first and clib afterwards (with “-b” option))
Thanks - Dave