Index: src/backend/main/main.c
===================================================================
RCS file: /home/neilc/private-cvsroot/pgsql-server/src/backend/main/main.c,v
retrieving revision 1.89
diff -c -r1.89 main.c
*** src/backend/main/main.c	29 Aug 2004 05:06:43 -0000	1.89
--- src/backend/main/main.c	24 Sep 2004 02:30:03 -0000
***************
*** 71,88 ****
  
  #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);
--- 71,93 ----
  
  #if defined(__alpha)			/* no __alpha__ ? */
  #ifdef NOFIXADE
! 	int			buffer[] = {SSIN_UACPROC, UAC_SIGBUS | UAC_NOPRINT};
! #endif
  #endif   /* __alpha */
  
  #ifdef WIN32
  	char	   *env_locale;
  #endif
  
! 	/*
! 	 * On some platforms, unaligned memory accesses result in a kernel
! 	 * trap; the default kernel behavior is to emulate the memory
! 	 * access, but this results in a significant performance
! 	 * penalty. We ought to fix PG not to make such unaligned memory
! 	 * accesses, so this code disables the kernel emulation: unaligned
! 	 * accesses will result in SIGBUS instead.
! 	 */
! #ifdef NOFIXADE
  
  #if defined(ultrix4)
  	syscall(SYS_sysmips, MIPS_FIXADE, 0, NULL, NULL, NULL);
***************
*** 94,100 ****
  		write_stderr("%s: setsysinfo failed: %s\n",
  					 argv[0], strerror(errno));
  #endif
! #endif   /* NOFIXADE || NOPRINTADE */
  
  #if defined(WIN32)
  	{
--- 99,105 ----
  		write_stderr("%s: setsysinfo failed: %s\n",
  					 argv[0], strerror(errno));
  #endif
! #endif   /* NOFIXADE */
  
  #if defined(WIN32)
  	{
