bug report, mainly pointer size

Robert M. Riches Jr. richesr1 at inetarena.com
Sat Jan 13 04:41:52 UTC 2001


I would like to submit the following list of problems I
encountered while trying to get basic Squeak functionality on an
Alpha Linux machine.  Some of the issues are operating system
version issues, while others appear to be actual bugs in Squeak's
code.

I don't normally subscribe to this list, so please use direct
email for any replies and followups you want me to see.

Thanks.

Robert Riches
richesr1 at inetarena.com

-------------------------------------------------------

File src/unix/sqXWindow.c tries to include a <sys/proc.h> file,
but that file does not exist on Redhat 6.1 Alpha Linux in any of
the usual include directories I could find.  It also tries to use
the following macros, one of which is not defined in any of the
usual include files I could find: SSIN_UACPROC, UAC_NOPRINT,
SSI_NVPAIRS.  Actually, the macros are defined in
/usr/include/asm/sysinfo.h instead of sys/proc.h, but then the
linker cannot find setsysinfo.  My solution was to remove the
blocks of code related to setsysinfo.

File build/Makefile uses the -taso option, which is not
recognized by the Redhat 6.1 compiler.  My solution was to
upgrade my "ld" command and add "-Wl,-taso" (without the quotes)
to CFLAGS.

File src/unix/sqXWindow.c seems to think time_t should be
32-bits, which is not correct for this system.  My solution was
to remove the check for the size of time_t.  (Someone else
indicated there are other source code changes needed to get the
time clock/calendar correct, but I don't know about that, yet.)

Massively worse than all of the above, it is rumored, and
experimental evidence seems to support the theory, that Squeak's
C code stuffs direct pointers into 32-bit words/ints.  This is a
very serious bug.  While small integers and pointers may be
interchangeable inside the Smalltalk world, this is a gross,
hideous sin in the C language.  Any competent programmer should
know better to do that.  (This one item has grossly reduced my
estimation of the quality and usefullness of the entire Squeak
project.)





More information about the Squeak-dev mailing list