I downloaded the Intel C/C++ compiler for x86 architectures and have
been running with it in order to add some spice to my life. I have
discovered some interesting things:
1. By default, 21.4 will only build with this compiler if I
configure with pdump. If I try to configure --pdump=no, I get an
error because -lgcc is not a valid library. This aborts
configure because sizeof(short) = 0.
2. If I edit src/s/linux.h and #define ORDINARY_LINK, I can
configure and build successfully. However, upon first run, I get
an error which looks suspiciously like the HANNIBAL LECTOR error:
gdb /opt/build/xemacs-21.4-2003-01-09-1600-icc3/src/xemacs core
then type `where' at the debugger prompt. No GDB on your system? You may
have DBX, or XDB, or SDB. (Ask your system administrator if you need help.)
If no core file was produced, enable them (often with `ulimit -c unlimited'
in case of future recurrance of the crash.
Lisp backtrace follows:
# bind (frame-being-created)
make-frame(nil #<x-device on ":0.0" 0x1d64>)
frame-initialize()
# bind (debugger debug-on-error command-line-args-left)
command-line()
# (condition-case ... . ((t (byte-code " oÂ" ... 1))))
# bind (error-data)
normal-top-level()
# (condition-case ... . error)
# (catch top-level ...)
zsh: segmentation fault (core dumped) src/xemacs
3. In fact, it was our old friend Hannibal, because, when I ran
configure with LDFLAGS='-z nocombreloc', I could successfully run
my shiny new XEmacs.
4. While building (either with or without pdump, I noticed a number
of warnings:
/opt/src/xemacs-21.4-2003-01-09-1600/src/emacs.c(2915): warning #556: a value of type
"void (*)(void *)" cannot be assigned to an entity of type "void (*)(void
*, const void *)"
__free_hook =
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/emacs.c(2989): warning #556: a value of type
"void (*)(void *)" cannot be assigned to an entity of type "void (*)(void
*, const void *)"
__free_hook =
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/process-unix.c(236): warning #266: function
declared implicitly
master_fd = getpt ();
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/process-unix.c(292): warning #266: function
declared implicitly
slave_name = ptsname (master_fd);
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/process-unix.c(292): warning #556: a value of
type "int" cannot be assigned to an entity of type "const char *"
slave_name = ptsname (master_fd);
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/process-unix.c(321): warning #266: function
declared implicitly
grantpt (master_fd);
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/process-unix.c(335): warning #266: function
declared implicitly
unlockpt (master_fd);
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/glyphs.c(1992): warning #186: pointless
comparison of unsigned integer with zero
assert (XIMAGE_INSTANCE_YOFFSET (image_instance) >= 0
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/glyphs.c(1992): warning #186: pointless
comparison of unsigned integer with zero
assert (XIMAGE_INSTANCE_YOFFSET (image_instance) >= 0
^
/usr/local/intel/compiler70/ia32/bin/icc -c -O3 -mcpu=pentiumpro -tpp6 -march=pentiumiii
-axK -ip -Demacs -I. -DHAVE_CONFIG_H -I/usr/local/include -I/usr/X11R6/include
/opt/src/xemacs-21.4-2003-01-09-1600/src/glyphs-eimage.c
/opt/src/xemacs-21.4-2003-01-09-1600/src/glyphs-eimage.c(1286): warning #186: pointless
comparison of unsigned integer with zero
for (i = height - 1; i >= 0; i--)
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/redisplay-x.c(980): warning #167: argument of
type "long *" is incompatible with parameter of type "unsigned long
*"
if (!XGetFontProperty (xfont, XA_UNDERLINE_POSITION, &upos))
^
/opt/src/xemacs-21.4-2003-01-09-1600/src/redisplay-x.c(982): warning #167: argument of
type "long *" is incompatible with parameter of type "unsigned long
*"
if (!XGetFontProperty (xfont, XA_UNDERLINE_THICKNESS, &uthick))
I hope someone finds all this interesting.
- Vin