Compare commits
9 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
1a0b1a1659 | ||
2e619ff71f | |||
67ade5e26f | |||
|
47b27bff0a | ||
|
93c09d843f | ||
1b92cb04d2 | |||
8937595f47 | |||
c0d997b9f8 | |||
4144b41a16 |
@@ -1,53 +0,0 @@
|
|||||||
From a8a2fd5a84a74726e11edb92ac20b5c5918b2edd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jan Engelhardt <jengelh@inai.de>
|
|
||||||
Date: Sat, 22 Feb 2025 00:17:40 +0100
|
|
||||||
Subject: [PATCH] build: resolve build failure due to missing include
|
|
||||||
|
|
||||||
On openSUSE Tumbleweed with gcc-14.2.1, I observe:
|
|
||||||
|
|
||||||
```
|
|
||||||
libtool: compile: gcc -DHAVE_CONFIG_H -I. -include ./config.h -I.
|
|
||||||
-DSYSCONFDIR=\"/etc\" -DDISTCONFDIR=\"/usr/lib\"
|
|
||||||
-DMODULE_DIRECTORY=\"/usr/lib/modules\" -pipe -fdata-sections
|
|
||||||
-fdiagnostics-show-option -ffunction-sections -fno-common -fvisibility=hidden
|
|
||||||
-W -Wall -Wchar-subscripts -Wdeclaration-after-statement -Wendif-labels -Wextra
|
|
||||||
-Wfloat-equal -Wformat=2 -Winit-self -Wlogical-op -Wmissing-declarations
|
|
||||||
-Wmissing-include-dirs -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs
|
|
||||||
-Wno-unused-parameter -Wold-style-definition -Wpointer-arith -Wredundant-decls
|
|
||||||
-Wshadow -Wsign-compare -Wstrict-aliasing=3 -Wstrict-prototypes -Wtype-limits
|
|
||||||
-Wundef -Wuninitialized -Wvla -Wwrite-strings -O2 -Wall -U_FORTIFY_SOURCE
|
|
||||||
-D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables
|
|
||||||
-fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type
|
|
||||||
-flto=auto -g -c libkmod/libkmod-unsupported.c -fPIC -DPIC -o
|
|
||||||
libkmod/.libs/libkmod-unsupported.o
|
|
||||||
In file included from libkmod/libkmod-internal.h:8,
|
|
||||||
from libkmod/libkmod-unsupported.c:1:
|
|
||||||
shared/macro.h: In function 'freep':
|
|
||||||
shared/macro.h:69:9: error: implicit declaration of function 'free'
|
|
||||||
[-Wimplicit-function-declaration]
|
|
||||||
69 | free(*(void **)p);
|
|
||||||
shared/macro.h:69:9: warning: incompatible implicit declaration of built-in
|
|
||||||
function 'free' [-Wbuiltin-declaration-mismatch]
|
|
||||||
69 | free(*(void **)p);
|
|
||||||
shared/macro.h:69:9: note: include '<stdlib.h>' or provide a declaration of 'free'
|
|
||||||
make[2]: *** [Makefile:1597: libkmod/libkmod-unsupported.lo] Error 1
|
|
||||||
```
|
|
||||||
---
|
|
||||||
shared/macro.h | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/shared/macro.h b/shared/macro.h
|
|
||||||
index 8829d0b..e684884 100644
|
|
||||||
--- a/shared/macro.h
|
|
||||||
+++ b/shared/macro.h
|
|
||||||
@@ -5,6 +5,7 @@
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
+#include <stdlib.h>
|
|
||||||
|
|
||||||
#if defined(HAVE_STATIC_ASSERT)
|
|
||||||
#define assert_cc(expr) _Static_assert((expr), #expr)
|
|
||||||
--
|
|
||||||
2.48.1
|
|
||||||
|
|
116
Revert-build-check-for-__xstat-declarations.patch
Normal file
116
Revert-build-check-for-__xstat-declarations.patch
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
From de54204d2656053e5530d055468f55c2806eed69 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Suchanek <msuchanek@suse.de>
|
||||||
|
Date: Thu, 26 Jun 2025 17:18:32 +0200
|
||||||
|
Subject: [PATCH] Revert "build: check for __xstat declarations"
|
||||||
|
|
||||||
|
This reverts commit 0766f541927f50879599e62fdaa5a2e51b9791d3.
|
||||||
|
|
||||||
|
From commit description:
|
||||||
|
|
||||||
|
Currently we check the function is resolved at link time. Although what
|
||||||
|
we really care is if the headers are silently transposing any of our stat
|
||||||
|
calls to __xstat{,64}. If so, we'd want to wrap the latter functions.
|
||||||
|
|
||||||
|
As the now-removed comment says, glibc 2.33 was the first release to no
|
||||||
|
longer have static inline wrappers that do the transposition. See the
|
||||||
|
glibc commit 8ed005daf0ab ("Remove stat wrapper functions, move them to
|
||||||
|
exported symbols") for more details.
|
||||||
|
|
||||||
|
The glibc in Leap 16.0 behaves as pre-2.33 in this respect (bsc#1240126 bsc#1221482)
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 6 +++++-
|
||||||
|
meson.build | 4 ++--
|
||||||
|
testsuite/path.c | 12 +++++++++++-
|
||||||
|
3 files changed, 18 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 9443268a0b50..80cd18e7d8f8 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -39,6 +39,7 @@ AC_PROG_CC_C99
|
||||||
|
# Function and structure checks
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
+AC_CHECK_FUNCS_ONCE(__xstat)
|
||||||
|
AC_CHECK_FUNCS_ONCE([open64 stat64 fopen64 __stat64_time64])
|
||||||
|
AC_CHECK_FUNCS_ONCE([secure_getenv])
|
||||||
|
|
||||||
|
@@ -51,13 +52,16 @@ CC_CHECK_FUNC_BUILTIN([__builtin_umul_overflow], [ ], [ ])
|
||||||
|
CC_CHECK_FUNC_BUILTIN([__builtin_umull_overflow], [ ], [ ])
|
||||||
|
CC_CHECK_FUNC_BUILTIN([__builtin_umulll_overflow], [ ], [ ])
|
||||||
|
|
||||||
|
+# Non glibc compilers (musl and newer versions of bionic) do not need
|
||||||
|
+# the 64 LFS API wrapping.
|
||||||
|
+AC_CHECK_DECLS_ONCE([[__GLIBC__]], [], [], [[#include <features.h>]])
|
||||||
|
+
|
||||||
|
# dietlibc doesn't have st.st_mtim struct member
|
||||||
|
AC_CHECK_MEMBERS([struct stat.st_mtim], [], [], [#include <sys/stat.h>])
|
||||||
|
|
||||||
|
# basename may be only available in libgen.h with the POSIX behavior,
|
||||||
|
# not desired here
|
||||||
|
AC_CHECK_DECLS_ONCE([[basename]], [], [], [[#include <string.h>]])
|
||||||
|
-AC_CHECK_DECLS_ONCE([[__xstat]], [], [], [[#include <sys/stat.h]])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([whether _Static_assert() is supported])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index a0cf675f12f3..c4730153c742 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -34,6 +34,7 @@ cdata.set10('_GNU_SOURCE', true)
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
_funcs = [
|
||||||
|
+ '__xstat',
|
||||||
|
'open64', 'stat64', 'fopen64', '__stat64_time64',
|
||||||
|
'secure_getenv',
|
||||||
|
]
|
||||||
|
@@ -85,12 +86,11 @@ endforeach
|
||||||
|
# not desired here
|
||||||
|
_decls = [
|
||||||
|
['basename', 'string.h'],
|
||||||
|
- ['__xstat', 'sys/stat.h'],
|
||||||
|
]
|
||||||
|
foreach tuple : _decls
|
||||||
|
decl = tuple[0]
|
||||||
|
header = tuple[1]
|
||||||
|
- have = cc.has_header_symbol(header, decl, args : '-D_GNU_SOURCE')
|
||||||
|
+ glibc = cc.has_header_symbol(header, decl, args : '-D_GNU_SOURCE')
|
||||||
|
cdata.set10('HAVE_DECL_@0@'.format(decl.to_upper()), have)
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
diff --git a/testsuite/path.c b/testsuite/path.c
|
||||||
|
index b896885a00de..3a6980e3de06 100644
|
||||||
|
--- a/testsuite/path.c
|
||||||
|
+++ b/testsuite/path.c
|
||||||
|
@@ -160,7 +160,15 @@ static void *get_libc_func(const char *f)
|
||||||
|
return _fn(p, flags); \
|
||||||
|
}
|
||||||
|
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * wrapper template for __xstat family
|
||||||
|
+ * This family got deprecated/dropped in glibc 2.32.9000, but we still need
|
||||||
|
+ * to keep it for a while for programs that were built against previous versions
|
||||||
|
+ */
|
||||||
|
#define WRAP_VERSTAT(prefix, suffix) \
|
||||||
|
+ TS_EXPORT int prefix##stat##suffix(int ver, const char *path, \
|
||||||
|
+ struct stat##suffix *st); \
|
||||||
|
TS_EXPORT int prefix##stat##suffix(int ver, const char *path, \
|
||||||
|
struct stat##suffix *st) \
|
||||||
|
{ \
|
||||||
|
@@ -203,7 +211,9 @@ WRAP_2ARGS(int, -1, __stat64_time64, void *);
|
||||||
|
WRAP_OPEN(64);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if HAVE_DECL___XSTAT
|
||||||
|
+#ifdef HAVE___XSTAT
|
||||||
|
WRAP_VERSTAT(__x, );
|
||||||
|
+#if HAVE_DECL___GLIBC__
|
||||||
|
WRAP_VERSTAT(__x, 64);
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
@@ -1,4 +0,0 @@
|
|||||||
mtime: 1740181126
|
|
||||||
commit: 8937595f476225a8217a7e8ecee144c92dd3e5689aa844988aaa8d7b71b6062f
|
|
||||||
url: https://src.opensuse.org/jengelh/kmod
|
|
||||||
revision: master
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:ae21019075180f8b7ba38ca9d3bdcbf1c412cfd05b5cab7bb4433dbfdd072b11
|
|
||||||
size 256
|
|
16
kmod-34.2.tar.sign
Normal file
16
kmod-34.2.tar.sign
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAmfmH94ACgkQm6KlpjDL
|
||||||
|
6lNZiA/+KU3A/eJ+0X0LAds26kn5GcK29Qfj7Rj+DR/13cp4eB/oWsEtgKj+BI/2
|
||||||
|
v35agguBX6gBjBqNURGTGOgYYNhoSGDptsUrXXZ250Z+szNexmqugzax78Flzs3q
|
||||||
|
hwWkuuQYqLpt0HbqF/qEOYZfv0102zvZCcV710Oznz09shj7fGriERJEYZs8gXWg
|
||||||
|
aCYrPnAW5cHRe7RJmf5L0ZlExDxLYt9jkTg0Sp3OXqMnNnknqZW2Qb9nwIFQdihs
|
||||||
|
p93SMXFPQ4zEmHBCBiYG5pW/NP9VaBxpY8/Ht8QaTIJBTwUXo+vilRMdczgM+owR
|
||||||
|
lJ6NW10Zwuh6xrGxecfSL0UHS8lHaQqiA4vL4xSFM0rQMr0nJL+O/atlzaKgLdH9
|
||||||
|
Utb/eKBxZ6oFbj1jUr1/Islk4ggpd+H7VOfr05WCL6S6m4BE0DsoBp7wTF0d40rM
|
||||||
|
SdCaJ6lXso6Z0HRW5dOmywbejBAKxUmJRD4ZuujVsiNkustQOsz79WmGJrVPEHej
|
||||||
|
+63cEHORmxQDOyLG1mtTfKciNWeqFRD94ErI4Oh5/ahjzji8WDP+7gfrcV6h2BnU
|
||||||
|
cKBDC4ukTp4VBzr0BGDhjzRbPMQs3EzwXSRxoXUuwAmFJVABYH6NXHCbimG4w5VZ
|
||||||
|
1xJLNxq02Y+TcN8H1KxfGV+nKP2rrkhXVHQyQgRdE3ujD5l59nE=
|
||||||
|
=yZu4
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
kmod-34.2.tar.xz
(Stored with Git LFS)
Normal file
BIN
kmod-34.2.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAme45F4ACgkQm6KlpjDL
|
|
||||||
6lPi9RAAj8FyJYcqVfZp4oOf36HGw9YXaaKWQcEBXys9UHFXWv553Gdh7pYkCSS4
|
|
||||||
oUX4kEe6yBuZi1k/WXxpttqSuL8gY9hEk7zLGeXzqttX3RuN2FkKPca2LSSFotMO
|
|
||||||
uUTWGI7exdG+FzyJFJQQftuCRni5+SxzvI11hkoTPaLWCuiCZgxI1w2AooT1kf84
|
|
||||||
esIvWp5z1c8ih4rVA2zy+cJUeCauvUN/R3G6SLE0IZjgSPErbUG24Gb1j0Rx5XHS
|
|
||||||
K9svzwiKxWZG77W9JkNnsi0zKxsbw5UvfViKdMPlq6Ypr7eJCHIMufYqj3YHjX7w
|
|
||||||
E6valX6KX9F5Scwu/84TUYEMm0BWCQZ9NaMvj4RYYlWnQLk1dR3b2K53SP8c6TKM
|
|
||||||
m9H03nRB6CN1SuNPxTCu47D22asgJE+5g+KAio/ALfvBmPRdSKniNiWAnjCeMqwl
|
|
||||||
QT2TeP3g4BhbqEgg3JTVDTChXItkfwRsRzUQJdnyJQzOC2OnO2qfk09PqFjxgyhq
|
|
||||||
M6IovupdO4iZs30kkG/gb+4sWXKqUYkGQrUWCgrhA6B7UdEgPyejDvBD1K0VhWbu
|
|
||||||
aO60cVoWvznvreylXN+Q/4BTOHWBkyQdoiLqWDfTST7aH8NvNKIpEDb46hfuKT5P
|
|
||||||
ZZ0o5OZFkHPzBC9bOtIBpk25FvxEDNRvJhF12co8UIu/cs0JbXE=
|
|
||||||
=jtsg
|
|
||||||
-----END PGP SIGNATURE-----
|
|
BIN
kmod-34.tar.xz
(Stored with Git LFS)
BIN
kmod-34.tar.xz
(Stored with Git LFS)
Binary file not shown.
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
Name: kmod-testsuite
|
Name: kmod-testsuite
|
||||||
%define lname libkmod2
|
%define lname libkmod2
|
||||||
Version: 34
|
Version: 34.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Testsuite of the kmod package
|
Summary: Testsuite of the kmod package
|
||||||
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||||
@@ -40,6 +40,7 @@ Patch3: 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch
|
|||||||
Patch4: 0010-modprobe-Implement-allow-unsupported-modules.patch
|
Patch4: 0010-modprobe-Implement-allow-unsupported-modules.patch
|
||||||
Patch5: 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch
|
Patch5: 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch
|
||||||
Patch6: 0012-modprobe-print-unsupported-status.patch
|
Patch6: 0012-modprobe-print-unsupported-status.patch
|
||||||
|
Patch7: Revert-build-check-for-__xstat-declarations.patch
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: docbook-xsl-stylesheets
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
@@ -96,10 +97,9 @@ export LDFLAGS="-Wl,-z,relro,-z,now"
|
|||||||
# empty
|
# empty
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%ifarch ppc64
|
result=0
|
||||||
make check V=1 KDIR="%kdir" || echo "Warning: bypass boo#897845"
|
make check V=1 KDIR="%kdir" || result=$?
|
||||||
%else
|
find . -name test-suite.log | xargs cat
|
||||||
make check V=1 KDIR="%kdir"
|
exit $result
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
24
kmod.changes
24
kmod.changes
@@ -1,3 +1,27 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 26 15:40:07 UTC 2025 - Michal Suchanek <msuchanek@suse.de>
|
||||||
|
|
||||||
|
- Fix testsuite on Leap 16.0 (bsc#1240126)
|
||||||
|
* Revert-build-check-for-__xstat-declarations.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 28 20:20:32 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
- Update to release 34.2
|
||||||
|
* libkmod: fix buffer-overflow in weakdep_to_char
|
||||||
|
- Delete unused 0001-build-resolve-build-failure-due-to-missing-include.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 12 16:03:22 UTC 2025 - Michal Suchanek <msuchanek@suse.de>
|
||||||
|
|
||||||
|
- tests: drop ppc64 workaround, print failed test results if any
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 6 09:22:40 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
- Update to release 34.1
|
||||||
|
* Build fixes only
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 21 22:41:36 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
Fri Feb 21 22:41:36 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
Name: kmod
|
Name: kmod
|
||||||
%define lname libkmod2
|
%define lname libkmod2
|
||||||
Version: 34
|
Version: 34.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Utilities to load modules into the kernel
|
Summary: Utilities to load modules into the kernel
|
||||||
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||||
@@ -41,6 +41,7 @@ Patch3: 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch
|
|||||||
Patch4: 0010-modprobe-Implement-allow-unsupported-modules.patch
|
Patch4: 0010-modprobe-Implement-allow-unsupported-modules.patch
|
||||||
Patch5: 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch
|
Patch5: 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch
|
||||||
Patch6: 0012-modprobe-print-unsupported-status.patch
|
Patch6: 0012-modprobe-print-unsupported-status.patch
|
||||||
|
Patch7: Revert-build-check-for-__xstat-declarations.patch
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: libopenssl-devel >= 1.1.0
|
BuildRequires: libopenssl-devel >= 1.1.0
|
||||||
@@ -101,7 +102,7 @@ in %lname.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%autosetup -p1
|
||||||
cp %{SOURCE4} .
|
cp "%_sourcedir/README.usrmerge" .
|
||||||
|
|
||||||
%build
|
%build
|
||||||
rm -f m4/gtk-doc.m4 libkmod/docs/gtk-doc.make # dangling symlinks
|
rm -f m4/gtk-doc.m4 libkmod/docs/gtk-doc.make # dangling symlinks
|
||||||
|
Reference in New Issue
Block a user