-diff -ur firebird-1.5.1.4500.orig/src/jrd/ibase.h firebird-1.5.1.4500/src/jrd/ibase.h
---- firebird-1.5.1.4500.orig/src/jrd/ibase.h 2004-03-29 05:50:10.000000000 +0200
-+++ firebird-1.5.1.4500/src/jrd/ibase.h 2004-10-03 03:32:57.962674256 +0200
-@@ -57,7 +57,7 @@
- // It is difficult to detect 64-bit long from the redistributable header
- // we do not care of 16-bit platforms anymore thus we may use plain "int"
- // which is 32-bit on all platforms we support
--#if defined(_LP64) || defined(__LP64__) || defined(__arch64__)
-+#if defined(_LP64) || defined(__LP64__) || defined(__arch64__) || defined(__alpha) || defined(__sparcv9)
- typedef int ISC_LONG;
- typedef unsigned int ISC_ULONG;
+--- firebird-1.5.1.4500/src/jrd/utl.cpp.orig 2004-03-29 05:50:11.000000000 +0200
++++ firebird-1.5.1.4500/src/jrd/utl.cpp 2004-08-08 14:13:50.000000000 +0200
+@@ -255,7 +255,10 @@
+ "Firebird/Darwin/PowerPC", /* 63 */
+ "Firebird/SINIX-Z", /* 64 */
+ "Firebird/linux Sparc", /* 65 */
+- "Firebird/linux AMD64" /* 66 */
++ "Firebird/linux AMD64", /* 66 */
++
++ "Firebird/linux PPC", /* 67 */
++ "Firebird/linux alpha" /* 68 */
+ };
+
+
+--- firebird-1.5.1.4500/src/jrd/btr.cpp.orig 2004-08-08 14:17:42.000000000 +0200
++++ firebird-1.5.1.4500/src/jrd/btr.cpp 2004-08-08 14:16:30.000000000 +0200
+@@ -191,7 +191,7 @@
+ //
+ inline SLONG BTR_get_quad(const UCHAR* p)
+ {
+-#if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64)
++#if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(__alpha__)
+ // For IA32 (little-endian) this optimization is a _very_ large speed-up!
+ return *reinterpret_cast<const SLONG*>(p);