diff options
-rw-r--r-- | src/backend/tcop/postgres.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 4b0d8fe0a67..10a0dcd9a9d 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -2693,10 +2693,15 @@ ProcessInterrupts(void) /* * IA64-specific code to fetch the AR.BSP register for stack depth checks. * - * We currently support gcc and icc here. + * We currently support gcc, icc, and HP-UX inline assembly here. */ #if defined(__ia64__) || defined(__ia64) +#if defined(__hpux) && !defined(__GNUC__) && !defined __INTEL_COMPILER +#include <ia64/sys/inline.h> +#define ia64_get_bsp() ((char *) (_Asm_mov_from_ar(_AREG_BSP, _NO_FENCE))) +#else + #ifdef __INTEL_COMPILER #include <asm/ia64regs.h> #endif @@ -2717,7 +2722,7 @@ ia64_get_bsp(void) #endif return ret; } - +#endif #endif /* IA64 */ |