NOFIXADE / NOPRINTADE

From: Neil Conway <neilc(at)samurai(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: NOFIXADE / NOPRINTADE
Date: 2004-09-23 06:56:01
Message-ID: 1095922561.22485.613.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gavin Sherry 2004-09-23 07:38:33 Re: SQL-Invoked Procedures for 8.1
Previous Message Grant Finnemore 2004-09-23 06:15:41 Re: SQL-Invoked Procedures for 8.1