aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/ltp/ltp/0001-Fix-compilation-for-gcc-5.x.patch
blob: 9407a34584a8ca854a653c004238deb4828e1be2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
From 40a2457cb8ec42a05a2f96b0810057efdb2a55f5 Mon Sep 17 00:00:00 2001
From: Kai Kang <kai.kang@windriver.com>
Date: Wed, 16 Sep 2015 13:23:43 +0200
Subject: [PATCH] Fix compilation for gcc-5.x

The gcc-5.x defaults to -std=gnu11 instead of -std=gnu89 which causes
semantics for inline functions changes.

GNU89 inline: Same as C99 extern inline.

So the standalone 'inline' causes error such as:

git/testcases/kernel/syscalls/kill/kill10.c:355: undefined reference to `k_sigaction'

Replace inline with static inline to fix this issue.

Ref:
https://gcc.gnu.org/gcc-5/porting_to.html

Upstream-Status: Backport
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Acked-by: Cyril Hrubis <chrubis@suse.cz>
---
 testcases/kernel/controllers/libcontrollers/libcontrollers.c | 2 +-
 testcases/kernel/controllers/libcontrollers/libcontrollers.h | 2 +-
 testcases/kernel/syscalls/kill/kill10.c                      | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/testcases/kernel/controllers/libcontrollers/libcontrollers.c b/testcases/kernel/controllers/libcontrollers/libcontrollers.c
index 844c5bc..75766fc 100644
--- a/testcases/kernel/controllers/libcontrollers/libcontrollers.c
+++ b/testcases/kernel/controllers/libcontrollers/libcontrollers.c
@@ -158,7 +158,7 @@ int read_file(char *filepath, int action, unsigned int *value)
  * Prints error message and returns -1
  */
 
-inline void error_function(char *msg1, char *msg2)
+static inline void error_function(char *msg1, char *msg2)
 {
 	fprintf(stdout, "ERROR: %s ", msg1);
 	fprintf(stdout, "%s\n", msg2);
diff --git a/testcases/kernel/controllers/libcontrollers/libcontrollers.h b/testcases/kernel/controllers/libcontrollers/libcontrollers.h
index bd8e2d8..cdde9f9 100644
--- a/testcases/kernel/controllers/libcontrollers/libcontrollers.h
+++ b/testcases/kernel/controllers/libcontrollers/libcontrollers.h
@@ -70,7 +70,7 @@ enum{
 	GET_TASKS
 };
 
-inline void error_function(char *msg1, char *msg2);
+static inline void error_function(char *msg1, char *msg2);
 
 int read_shares_file(char *filepath);
 
diff --git a/testcases/kernel/syscalls/kill/kill10.c b/testcases/kernel/syscalls/kill/kill10.c
index 982d9da..33dbcd3 100644
--- a/testcases/kernel/syscalls/kill/kill10.c
+++ b/testcases/kernel/syscalls/kill/kill10.c
@@ -185,7 +185,7 @@ int child_checklist_total = 0;
 int checklist_cmp(const void *a, const void *b);
 void checklist_reset(int bit);
 
-inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa);
+static inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa);
 
 char *TCID = "kill10";
 int TST_TOTAL = 1;
@@ -756,7 +756,7 @@ void checklist_reset(int bit)
 
 }
 
-inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa)
+static inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa)
 {
 	int ret;
 	if ((ret = sigaction(sig, sa, osa)) == -1) {
-- 
1.9.1