File aarch64-support.patch of Package firebird

Index: Firebird-2.5.2.26539-0/configure.in
===================================================================
--- Firebird-2.5.2.26539-0.orig/configure.in
+++ Firebird-2.5.2.26539-0/configure.in
@@ -304,6 +304,16 @@ dnl CPU_TYPE=ppc64
    SHRLIB_EXT=so
    ;;
 
+  aarch64-*-linux*)
+    MAKEFILE_PREFIX=linux_generic
+    INSTALL_PREFIX=linux
+    PLATFORM=LINUX
+    AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+    EDITLINE_FLG=Y
+    SHRLIB_EXT=so
+    libdir=/usr/lib64
+    ;;
+
   *-*-linux* | *-*-gnu*)
     MAKEFILE_PREFIX=linux_generic
     INSTALL_PREFIX=linux
Index: Firebird-2.5.2.26539-0/src/jrd/common.h
===================================================================
--- Firebird-2.5.2.26539-0.orig/src/jrd/common.h
+++ Firebird-2.5.2.26539-0/src/jrd/common.h
@@ -192,6 +192,10 @@
 #define RISC_ALIGNMENT
 #endif /* alpha */
 
+#ifdef __aarch64__
+#define IMPLEMENTATION  isc_info_db_impl_linux_aarch64 /* 84  */
+#endif /* alpha */
+
 #endif /* LINUX */
 
 
Index: Firebird-2.5.2.26539-0/src/jrd/inf_pub.h
===================================================================
--- Firebird-2.5.2.26539-0.orig/src/jrd/inf_pub.h
+++ Firebird-2.5.2.26539-0/src/jrd/inf_pub.h
@@ -215,6 +215,7 @@ enum  info_db_implementations
 	isc_info_db_impl_linux_sheb = 81,
 	isc_info_db_impl_linux_hppa = 82,
 	isc_info_db_impl_linux_alpha = 83,
+	isc_info_db_impl_linux_aarch64 = 84,
 
 	isc_info_db_impl_last_value   // Leave this LAST!
 };
Index: Firebird-2.5.2.26539-0/src/jrd/pag.cpp
===================================================================
--- Firebird-2.5.2.26539-0.orig/src/jrd/pag.cpp
+++ Firebird-2.5.2.26539-0/src/jrd/pag.cpp
@@ -162,9 +162,10 @@ static const int CLASS_LINUX_SH = 38;		/
 static const int CLASS_LINUX_SHEB = 39;		// LINUX/SH (big-endian)
 static const int CLASS_LINUX_HPPA = 40;		// LINUX/HPPA
 static const int CLASS_LINUX_ALPHA = 41;	// LINUX/ALPHA
+static const int CLASS_LINUX_AARCH64 = 42;	// LINUX/AARCH64
 
 static const int CLASS_MAX10 = CLASS_LINUX_AMD64;	// This should not be changed, no new ports with ODS10
-static const int CLASS_MAX = CLASS_LINUX_ALPHA;
+static const int CLASS_MAX = CLASS_LINUX_AARCH64;
 
 // ARCHITECTURE COMPATIBILITY CLASSES
 
@@ -263,7 +264,8 @@ static const ArchitectureType archMatrix
 	archLittleEndian, // CLASS_LINUX_SH
 	archBigEndian,    // CLASS_LINUX_SHEB
 	archBigEndian,    // CLASS_LINUX_HPPA
-	archLittleEndian  // CLASS_LINUX_ALPHA
+	archLittleEndian, // CLASS_LINUX_ALPHA
+	archLittleEndian  // CLASS_LINUX_AARCH64
 };
 
 #ifdef __sun
@@ -327,6 +329,8 @@ const SSHORT CLASS		= CLASS_LINUX_SHEB;
 const SSHORT CLASS		= CLASS_LINUX_HPPA;
 #elif defined(ALPHA)
 const SSHORT CLASS		= CLASS_LINUX_ALPHA;
+#elif defined(__aarch64__)
+const SSHORT CLASS		= CLASS_LINUX_AARCH64;
 #else
 #error no support on other hardware for Linux
 #endif
Index: Firebird-2.5.2.26539-0/src/jrd/utl.cpp
===================================================================
--- Firebird-2.5.2.26539-0.orig/src/jrd/utl.cpp
+++ Firebird-2.5.2.26539-0/src/jrd/utl.cpp
@@ -227,7 +227,8 @@ static const TEXT* const impl_implementa
 	"Firebird/linux SH",			// 80
 	"Firebird/linux SHEB",			// 81
 	"Firebird/linux HPPA",			// 82
-	"Firebird/linux ALPHA"			// 83
+	"Firebird/linux ALPHA",			// 83
+	"Firebird/linux AARCH64"		// 84
 };
 
 
openSUSE Build Service is sponsored by