From: Ola x Nilsson <olani@axis.com>
To: <openembedded-core@lists.openembedded.org>
Subject: [PATCH v2] python3-numpy: Use Large File Support version of fallocate
Date: Fri, 26 Jan 2024 14:57:46 +0100 [thread overview]
Message-ID: <20240126135746.356410-1-olani@axis.com> (raw)
This was supposed to always be the case from upstream but was exposed
by the 64-bit-time QA checker when file function scanning was enabled.
Signed-off-by: Ola x Nilsson <olani@axis.com>
---
...le-fallocate-on-32-bit-linux-platfor.patch | 51 +++++++++++++++++++
.../python/python3-numpy_1.26.3.bb | 1 +
2 files changed, 52 insertions(+)
create mode 100644 meta/recipes-devtools/python/python3-numpy/0001-BUG-Use-large-file-fallocate-on-32-bit-linux-platfor.patch
diff --git a/meta/recipes-devtools/python/python3-numpy/0001-BUG-Use-large-file-fallocate-on-32-bit-linux-platfor.patch b/meta/recipes-devtools/python/python3-numpy/0001-BUG-Use-large-file-fallocate-on-32-bit-linux-platfor.patch
new file mode 100644
index 0000000000..0702b8499a
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-numpy/0001-BUG-Use-large-file-fallocate-on-32-bit-linux-platfor.patch
@@ -0,0 +1,51 @@
+From 43b9b2626a59e8764f3bfb1d6b0d73b2d665584e Mon Sep 17 00:00:00 2001
+From: Ola x Nilsson <olani@axis.com>
+Date: Fri, 19 Jan 2024 10:26:41 +0100
+Subject: [PATCH] BUG: Use large file fallocate on 32 bit linux platforms
+
+Using a local prototype for fallocate instead of the fcntl.h header
+meant that the redirect triggered by -D_FILE_OFFSET_BITS=64 was not
+triggered.
+
+The prototypes in feature_detection_stdio.h should only be used by
+functions in setup_common.py. If they are used by the feature
+discovery code they might trigger false positives.
+
+Upstream-Status: Backport [https://github.com/numpy/numpy/commit/f49c6f9ea735cd7f718e74f8d637ffbbd3a7a03b]
+Signed-off-by: Ola x Nilsson <olani@axis.com>
+
+---
+ numpy/core/feature_detection_stdio.h | 3 +++
+ numpy/core/src/multiarray/convert.c | 5 +++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/numpy/core/feature_detection_stdio.h b/numpy/core/feature_detection_stdio.h
+index bc14d16..d8bbfbd 100644
+--- a/numpy/core/feature_detection_stdio.h
++++ b/numpy/core/feature_detection_stdio.h
+@@ -1,6 +1,9 @@
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <fcntl.h>
+
++#if 0 /* Only for setup_common.py, not the C compiler */
+ off_t ftello(FILE *stream);
+ int fseeko(FILE *stream, off_t offset, int whence);
+ int fallocate(int, int, off_t, off_t);
++#endif
+diff --git a/numpy/core/src/multiarray/convert.c b/numpy/core/src/multiarray/convert.c
+index 60c1a1b..8ec0aee 100644
+--- a/numpy/core/src/multiarray/convert.c
++++ b/numpy/core/src/multiarray/convert.c
+@@ -23,8 +23,9 @@
+ #include "array_coercion.h"
+ #include "refcount.h"
+
+-int
+-fallocate(int fd, int mode, off_t offset, off_t len);
++#if defined(HAVE_FALLOCATE) && defined(__linux__)
++#include <fcntl.h>
++#endif
+
+ /*
+ * allocate nbytes of diskspace for file fp
diff --git a/meta/recipes-devtools/python/python3-numpy_1.26.3.bb b/meta/recipes-devtools/python/python3-numpy_1.26.3.bb
index 023d40a9b2..326e2c3591 100644
--- a/meta/recipes-devtools/python/python3-numpy_1.26.3.bb
+++ b/meta/recipes-devtools/python/python3-numpy_1.26.3.bb
@@ -12,6 +12,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
file://0001-numpy-core-Define-RISCV-32-support.patch \
file://fix_reproducibility.patch \
file://run-ptest \
+ file://0001-BUG-Use-large-file-fallocate-on-32-bit-linux-platfor.patch \
"
SRC_URI[sha256sum] = "697df43e2b6310ecc9d95f05d5ef20eacc09c7c4ecc9da3f235d39e71b7da1e4"
--
2.39.2
reply other threads:[~2024-01-26 13:57 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240126135746.356410-1-olani@axis.com \
--to=olani@axis.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.