Fix build on s390x (#1969393)

epel9
Philippe Makowski 3 years ago
parent 4c04d2ce89
commit 4ea5c8b69f

@ -10,7 +10,7 @@
Name: firebird
Version: %{upversion}
Release: 1%{?dist}
Release: 2%{?dist}
Summary: SQL relational database management system
License: Interbase
@ -30,9 +30,10 @@ Patch203: no-copy-from-icu.patch
Patch205: cloop-honour-build-flags.patch
# from upstream
# Firebird 4 have build issues (bz 1969393)
ExcludeArch: s390x
Patch301: c++17.patch
Patch302: noexcept.patch
Patch303: fix_build_on_big_endian_platforms.patch
Patch304: ttmath-abseil.4.0.0.patch
BuildRequires: autoconf
BuildRequires: automake
@ -197,8 +198,18 @@ in production systems, under a variety of names, since 1981.
%patch101 -p1
%patch203 -p1
%patch205 -p1
%patch301 -p1
%patch302 -p1
%ifarch s390x
%patch303 -p1
%patch304 -p1
%endif
%build
%ifarch s390x
%global _lto_cflags %{nil}
%endif
export CFLAGS="%{optflags} -fno-strict-aliasing"
export CXXFLAGS="${CFLAGS} -fno-delete-null-pointer-checks"
NOCONFIGURE=1 ./autogen.sh
@ -368,6 +379,9 @@ fi
%changelog
* Fri Aug 20 2021 Philippe Makowski <makowski@fedoraproject.org> - 4.0.0.2496-2
- Fix build on s390x (#1969393)
* Tue Jun 08 2021 Philippe Makowski <makowski@fedoraproject.org> - 4.0.0.2496-1
- Update to 4.0.0 (#1963311)

@ -0,0 +1,36 @@
From cd0682bc55eb01d53278d09edc1e9e2e9bfb9983 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
Date: Fri, 11 Jun 2021 12:39:31 +0200
Subject: [PATCH] fix build on big endian platforms (#6852)
* fix missing declaration of type_alignments[] for big endian platforms
* add missing definition of lwp for big endian platforms
---
src/jrd/sort.cpp | 1 +
src/jrd/sort.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/jrd/sort.cpp b/src/jrd/sort.cpp
index 37f5f816407..77ca69c2536 100644
--- a/src/jrd/sort.cpp
+++ b/src/jrd/sort.cpp
@@ -713,6 +713,7 @@ void Sort::diddleKey(UCHAR* record, bool direction, bool duplicateHandling)
for (sort_key_def* key = m_description.begin(), *end = m_description.end(); key < end; key++)
{
UCHAR* p = record + key->getSkdOffset();
+ SORTP* lwp = (SORTP*) p;
USHORT n = key->getSkdLength();
USHORT complement = key->skd_flags & SKD_descending;
diff --git a/src/jrd/sort.h b/src/jrd/sort.h
index 8e23e70ccc5..e3bbbb7779c 100644
--- a/src/jrd/sort.h
+++ b/src/jrd/sort.h
@@ -27,6 +27,7 @@
#include "../include/fb_blk.h"
#include "../common/DecFloat.h"
#include "../jrd/TempSpace.h"
+#include "../jrd/align.h"
namespace Jrd {

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save