[packages/flex] add build fix from fedora
atler
atler at pld-linux.org
Tue Apr 21 20:27:53 CEST 2020
commit 0038d79bcac951977e8888f627330e4b9868f16c
Author: Jan Palus <atler at pld-linux.org>
Date: Tue Apr 21 20:27:32 2020 +0200
add build fix from fedora
flex-rh1389575.patch | 39 +++++++++++++++++++++++++++++++++++++++
flex.spec | 2 ++
2 files changed, 41 insertions(+)
---
diff --git a/flex.spec b/flex.spec
index be14a95..1de68e9 100644
--- a/flex.spec
+++ b/flex.spec
@@ -27,6 +27,7 @@ Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-ma
# Source1-md5: fd79ee2834b290e74c626f0bbfc8942f
Patch0: %{name}-info.patch
Patch1: %{name}-build.patch
+Patch2: %{name}-rh1389575.patch
URL: https://github.com/westes/flex
BuildRequires: autoconf >= 2.54
BuildRequires: automake >= 1:1.14.1
@@ -137,6 +138,7 @@ Przykłady dla fleksa.
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
# force regeneration (just in case make didn't want to)
%{__rm} -f src/skel.c
diff --git a/flex-rh1389575.patch b/flex-rh1389575.patch
new file mode 100644
index 0000000..9095626
--- /dev/null
+++ b/flex-rh1389575.patch
@@ -0,0 +1,39 @@
+This patch fixes a flex-2.6.4 build failure on x86_64 and possibly other
+architectures where `size_t' is larger than `int'. The failure occurs as
+follows:
+
+A missing `reallocarray' prototype during compilation means that the
+compiler assumes an `int' return type. When compiling with `-pie' (standard
+for Fedora), addresses on the heap can be larger than `int' can store. Thus,
+pointers returned from `reallocarray' are truncated and any read/write to
+them leads to a SIGSEGV.
+
+From 24fd0551333e7eded87b64dd36062da3df2f6380 Mon Sep 17 00:00:00 2001
+From: Explorer09 <explorer09 at gmail.com>
+Date: Mon, 4 Sep 2017 10:47:33 +0800
+Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac.
+
+This would, e.g. define _GNU_SOURCE in config.h, enabling the
+reallocarray() prototype in glibc 2.26+ on Linux systems with that
+version of glibc.
+
+Fixes #241.
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,8 +25,10 @@
+ # autoconf requirements and initialization
+
+ AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help at lists.sourceforge.net],[flex])
++AC_PREREQ([2.60])
+ AC_CONFIG_SRCDIR([src/scan.l])
+ AC_CONFIG_AUX_DIR([build-aux])
++AC_USE_SYSTEM_EXTENSIONS
+ LT_INIT
+ AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects])
+ AC_CONFIG_HEADER([src/config.h])
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/flex.git/commitdiff/0038d79bcac951977e8888f627330e4b9868f16c
More information about the pld-cvs-commit
mailing list