- add aarch64-compile-fixes.patch

OBS-URL: https://build.opensuse.org/package/show/Base:System/irqbalance?expand=0&rev=62
This commit is contained in:
Dirk Mueller 2017-01-12 18:37:02 +00:00 committed by Git OBS Bridge
parent ed021db7ba
commit 18cbb20e87
3 changed files with 107 additions and 0 deletions

104
aarch64-compile-fixes.patch Normal file
View File

@ -0,0 +1,104 @@
From af7523e4891d13c3c06fef056b243faa0547e406 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Tue, 10 Jan 2017 09:44:04 +0200
Subject: [PATCH 1/3] Add missing #include <string.h> in user interface files
Fixes several warnings when compiling under musl, e.g.
ui/irqbalance-ui.c: In function 'create_credentials_msg':
ui/irqbalance-ui.c:32:2: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
memset(msg, 0, sizeof(struct msghdr));
^~~~~~
ui/irqbalance-ui.c:32:2: warning: incompatible implicit declaration of built-in function 'memset'
ui/irqbalance-ui.c:32:2: note: include '<string.h>' or provide a declaration of 'memset'
ui/irqbalance-ui.c: In function 'init_connection':
ui/irqbalance-ui.c:49:2: warning: incompatible implicit declaration of built-in function 'memset'
memset(&addr, 0, sizeof(struct sockaddr_un));
^~~~~~
---
ui/irqbalance-ui.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/ui/irqbalance-ui.c b/ui/irqbalance-ui.c
index 74ba93c..75fc60f 100644
--- a/ui/irqbalance-ui.c
+++ b/ui/irqbalance-ui.c
@@ -3,6 +3,7 @@
#include <errno.h>
#include <netdb.h>
#include <stdio.h>
+#include <string.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
From 59f2a0e9bfd5b98bd5671174eb7e32b4e0b3ba2c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Tue, 10 Jan 2017 09:46:17 +0200
Subject: [PATCH 2/3] Fix struct msghdr initialization
musl defines struct msghdr with padding fields to be strictly
POSIX compliant. The current code gives following warnings:
irqbalance.c: In function 'sock_handle':
irqbalance.c:333:42: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
struct msghdr msg = { NULL, 0, &iov, 1, NULL, 0, 0 };
^~~~
irqbalance.c:333:42: note: (near initialization for 'msg.__pad1')
irqbalance.c:333:9: warning: missing initializer for field '__pad2' of 'struct msghdr' [-Wmissing-field-initializers]
struct msghdr msg = { NULL, 0, &iov, 1, NULL, 0, 0 };
^~~~~~
In file included from /usr/include/sys/socket.h:20:0,
from /usr/include/fortify/sys/socket.h:20,
from irqbalance.c:34:
/usr/include/bits/socket.h:7:28: note: '__pad2' declared here
socklen_t msg_controllen, __pad2;
^~~~~~
Fix this by not relying on field ordering. Alternatively
designated initializers could be used, but as they are not
used elsewhere in the code, I used explicit assignments.
---
irqbalance.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/irqbalance.c b/irqbalance.c
index 35ad4da..95bb80a 100644
--- a/irqbalance.c
+++ b/irqbalance.c
@@ -330,7 +330,9 @@ gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attri
int valid_user = 0;
struct iovec iov = { buff, 500 };
- struct msghdr msg = { NULL, 0, &iov, 1, NULL, 0, 0 };
+ struct msghdr msg = { 0 };
+ msg.msg_iov = &iov;
+ msg.msg_iovlen = 1;
msg.msg_control = malloc(CMSG_SPACE(sizeof(struct ucred)));
msg.msg_controllen = CMSG_SPACE(sizeof(struct ucred));
From 65d71ea5f80b6d56907bd67825981042eaf98d6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Tue, 10 Jan 2017 09:51:32 +0200
Subject: [PATCH 3/3] fix aarch64 compile error due to undefined variable
fixes #36
---
procinterrupts.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/procinterrupts.c b/procinterrupts.c
index 6b37a88..c5c034c 100644
--- a/procinterrupts.c
+++ b/procinterrupts.c
@@ -148,6 +148,9 @@ GList* collect_full_irq_list()
char *line = NULL;
size_t size = 0;
char *irq_name, *irq_mod, *savedptr, *last_token, *p;
+#ifdef AARCH64
+ char *tmp;
+#endif
file = fopen("/proc/interrupts", "r");
if (!file)

View File

@ -10,6 +10,7 @@ Thu Jan 12 18:03:02 UTC 2017 - dmueller@suse.com
* live interactive monitoring of irqbalance and live adjustment with irqbalance-ui
- remove fix-aarch64-support.patch: upstreamed
- add install-man-pages.patch
- add aarch64-compile-fixes.patch
-------------------------------------------------------------------
Fri Oct 14 13:31:38 UTC 2016 - msuchanek@suse.com

View File

@ -27,6 +27,7 @@ Source: https://github.com/Irqbalance/irqbalance/archive/v%{version}.tar
Source3: sysconfig.irqbalance
Patch2: Set-fd-limit.patch
Patch3: install-man-pages.patch
Patch4: aarch64-compile-fixes.patch
BuildRequires: libcap-ng-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
@ -48,6 +49,7 @@ being used for all IRQs.
%setup -q
%patch2 -p1
%patch3
%patch4 -p1
%build
NOCONFIGURE=1 ./autogen.sh