Signed-off-by: Khem Raj <[email protected]>
---
 ...onfigure-Check-for-largefile-support.patch | 27 ++++++++
 ...at64-fstat64-ftruncate64mmap64-with-.patch | 64 +++++++++++++++++++
 meta/recipes-support/numactl/numactl_git.bb   |  2 +
 3 files changed, 93 insertions(+)
 create mode 100644 
meta/recipes-support/numactl/numactl/0001-configure-Check-for-largefile-support.patch
 create mode 100644 
meta/recipes-support/numactl/numactl/0002-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch

diff --git 
a/meta/recipes-support/numactl/numactl/0001-configure-Check-for-largefile-support.patch
 
b/meta/recipes-support/numactl/numactl/0001-configure-Check-for-largefile-support.patch
new file mode 100644
index 0000000000..152eb2807b
--- /dev/null
+++ 
b/meta/recipes-support/numactl/numactl/0001-configure-Check-for-largefile-support.patch
@@ -0,0 +1,27 @@
+From 61f910f5d12d6f6a66223b5af6d74e30ace3a2e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Thu, 15 Dec 2022 12:10:37 -0800
+Subject: [PATCH] configure: Check for largefile support
+
+This helps in using 64bit versions of off_t related functions
+
+Upstream-Status: Backport [https://github.com/numactl/numactl/pull/159]
+Signed-off-by: Khem Raj <[email protected]>
+---
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 8510fc5..d74bc6e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -14,6 +14,9 @@ LT_INIT
+ 
+ AC_PROG_CC
+ 
++# Check for enabling LFS support
++AC_SYS_LARGEFILE
++
+ # Override CFLAGS so that we can specify custom CFLAGS for numademo.
+ AX_AM_OVERRIDE_VAR([CFLAGS])
+ 
diff --git 
a/meta/recipes-support/numactl/numactl/0002-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch
 
b/meta/recipes-support/numactl/numactl/0002-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch
new file mode 100644
index 0000000000..03b98e0a2c
--- /dev/null
+++ 
b/meta/recipes-support/numactl/numactl/0002-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch
@@ -0,0 +1,64 @@
+From 8a08d3583d77bebeb1763fb9b378899201ce5afa Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Thu, 15 Dec 2022 12:11:13 -0800
+Subject: [PATCH] shm.c: Replace stat64/fstat64/ftruncate64mmap64 with normal 
functions
+
+These functions were needed when _FILE_OFFSET_BITS was not 64, using
+AC_SYS_LARGEFILE will detect it correctly and make the normal variants
+of these functions behave same as their *64 counterparts.
+
+Upstream-Status: Backport [https://github.com/numactl/numactl/pull/159]
+Signed-off-by: Khem Raj <[email protected]>
+---
+ shm.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/shm.c b/shm.c
+index 20537d9..5d0d1ab 100644
+--- a/shm.c
++++ b/shm.c
+@@ -24,8 +24,8 @@
+ #include <sys/mman.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+-#include <sys/fcntl.h>
+ #include <sys/stat.h>
++#include <fcntl.h>
+ #include <stdarg.h>
+ #include <errno.h>
+ #include <unistd.h>
+@@ -135,7 +135,7 @@ void attach_sysvshm(char *name, char *opt)
+ /* Attach a shared memory file. */
+ void attach_shared(char *name, char *opt)
+ {
+-      struct stat64 st;
++      struct stat st;
+ 
+       shmfd = open(name, O_RDWR);
+       if (shmfd < 0) {
+@@ -146,14 +146,14 @@ void attach_shared(char *name, char *opt)
+               if (shmfd < 0)
+                       nerror("cannot create file %s", name);
+       }
+-      if (fstat64(shmfd, &st) < 0)
++      if (fstat(shmfd, &st) < 0)
+               err("shm stat");
+       /* the file size must be larger than mmap shmlen + shmoffset, otherwise 
SIGBUS
+        * will be caused when we access memory, because mmaped memory is no 
longer in
+        * the range of the file laster.
+        */
+       if ((shmlen + shmoffset) > st.st_size) {
+-              if (ftruncate64(shmfd, shmlen + shmoffset) < 0) {
++              if (ftruncate(shmfd, shmlen + shmoffset) < 0) {
+                       /* XXX: we could do it by hand, but it would it
+                          would be impossible to apply policy then.
+                          need to fix that in the kernel. */
+@@ -168,7 +168,7 @@ void attach_shared(char *name, char *opt)
+ 
+       /* RED-PEN For shmlen > address space may need to map in pieces.
+          Left for some poor 32bit soul. */
+-      shmptr = mmap64(NULL, shmlen, PROT_READ | PROT_WRITE, MAP_SHARED, 
shmfd, shmoffset);
++      shmptr = mmap(NULL, shmlen, PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, 
shmoffset);
+       if (shmptr == (char*)-1)
+               err("shm mmap");
+ }
diff --git a/meta/recipes-support/numactl/numactl_git.bb 
b/meta/recipes-support/numactl/numactl_git.bb
index 23be0a3b4f..0f71258bc3 100644
--- a/meta/recipes-support/numactl/numactl_git.bb
+++ b/meta/recipes-support/numactl/numactl_git.bb
@@ -18,6 +18,8 @@ SRC_URI = 
"git://github.com/numactl/numactl;branch=master;protocol=https \
            file://Makefile \
            file://run-ptest \
            file://0001-define-run-test-target.patch \
+           file://0001-configure-Check-for-largefile-support.patch \
+           
file://0002-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
2.39.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#174933): 
https://lists.openembedded.org/g/openembedded-core/message/174933
Mute This Topic: https://lists.openembedded.org/mt/95811581/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to