mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-01 13:14:42 +00:00
- add rebased patch from alpine:
dc5b313551/main/dmraid/008-gcc15.patch
(does not apply with `fetchpatch` even with `stripLen` and `extraPrefix`)
Fixes build failure with gcc15:
```
activate/activate.c:893:34: error: passing argument 3 of 'do_device'
from incompatible pointer type [-Wincompatible-pointer-types]
893 | return do_device(lc, rs, dm_register_for_event);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(char *, char *)
activate/activate.c:869:62: note: expected 'int (*)(void)' but argument
is of type 'int (*)(char *, char *)'
869 | do_device(struct lib_context *lc, struct raid_set *rs, int (*f) ())
| ~~~~~~^~~~~
activate/activate.c:850:1: note: 'dm_register_for_event' declared here
850 | dm_register_for_event(char *dev_name, char *lib_name)
| ^~~~~~~~~~~~~~~~~~~~~
misc/file.c:66:17: error: initialization of 'ssize_t (*)(void)'
{aka 'long int (*)(void)'} from incompatible pointer type
'ssize_t (*)(int, void *, size_t)' {aka 'long int (*)(int, void *, long unsigned int)'} [-Wincompatible-pointer-types]
66 | read, "read"}, {
| ^~~~
misc/file.c:67:9: error: initialization of 'ssize_t (*)(void)' {aka 'long int (*)(void)'}
from incompatible pointer type 'ssize_t (*)(int, const void *, size_t)'
{aka 'long int (*)(int, const void *, long unsigned int)'} [-Wincompatible-pointer-types]
67 | write, "writ"},}, *rw = rw_spec + ((flags & O_WRONLY) ? 1 : 0);
| ^~~~~
misc/file.c:67:9: note: (near initialization for 'rw_spec[1].func')
```
34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
diff --git a/1.0.0.rc16/lib/activate/activate.c b/1.0.0.rc16/lib/activate/activate.c
|
|
index 1d71ea8c0a..0a4ec6afa1 100644
|
|
--- a/1.0.0.rc16/lib/activate/activate.c
|
|
+++ b/1.0.0.rc16/lib/activate/activate.c
|
|
@@ -866,7 +866,7 @@
|
|
|
|
#define LIB_NAME_LENGTH 255
|
|
static int
|
|
-do_device(struct lib_context *lc, struct raid_set *rs, int (*f) ())
|
|
+do_device(struct lib_context *lc, struct raid_set *rs, int (*f)(char *, char *))
|
|
{
|
|
int ret = 0;
|
|
char lib_name[LIB_NAME_LENGTH];
|
|
diff --git a/1.0.0.rc16/lib/misc/file.c b/1.0.0.rc16/lib/misc/file.c
|
|
index fe74d5c9c2..c060b6e712 100644
|
|
--- a/1.0.0.rc16/lib/misc/file.c
|
|
+++ b/1.0.0.rc16/lib/misc/file.c
|
|
@@ -59,12 +59,12 @@
|
|
int fd, ret = 0;
|
|
loff_t o;
|
|
struct {
|
|
- ssize_t(*func) ();
|
|
+ ssize_t(*func)(int, void *, size_t);
|
|
const char *what;
|
|
} rw_spec[] = {
|
|
{
|
|
read, "read"}, {
|
|
- write, "writ"},}, *rw = rw_spec + ((flags & O_WRONLY) ? 1 : 0);
|
|
+ (ssize_t(*)(int, void *, size_t))write, "writ"},}, *rw = rw_spec + ((flags & O_WRONLY) ? 1 : 0);
|
|
|
|
if ((fd = open(path, flags, lc->mode)) == -1)
|
|
LOG_ERR(lc, 0, "opening \"%s\"", path);
|
|
|