There's a bunch of very ugly code in backend/main/main.c that involves the preprocessor constants "NOFIXADE" and "NOPRINTADE". The code seems to be related to support for Alpha and/or ultrix4. NOFIXADE is defined by port/osf.h and port/ultrix4.h, while NOPRINTADE is not defined as far as I can tell (... unless some system header defines it?)
Does anyone have any idea what this code is intended to do, and why it is necessary? It would be nice to remove it, but even if that's not possible we can at least explain why it is necessary. The code in question is: #if defined(__alpha) /* no __alpha__ ? */ #ifdef NOFIXADE int buffer[] = {SSIN_UACPROC, UAC_SIGBUS}; #endif /* NOFIXADE */ #ifdef NOPRINTADE int buffer[] = {SSIN_UACPROC, UAC_NOPRINT}; #endif /* NOPRINTADE */ #endif /* __alpha */ #ifdef WIN32 char *env_locale; #endif #if defined(NOFIXADE) || defined(NOPRINTADE) #if defined(ultrix4) syscall(SYS_sysmips, MIPS_FIXADE, 0, NULL, NULL, NULL); #endif #if defined(__alpha) /* no __alpha__ ? */ if (setsysinfo(SSI_NVPAIRS, buffer, 1, (caddr_t) NULL, (unsigned long) NULL) < 0) write_stderr("%s: setsysinfo failed: %s\n", argv[0], strerror(errno)); #endif #endif /* NOFIXADE || NOPRINTADE */ -Neil ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings