Annotation of /trunk/systemd/patches/systemd-238-fix-libgpg-error-header-issues.patch
Parent Directory | Revision Log
Revision 3129 -
(hide annotations)
(download)
Wed Jun 13 15:43:08 2018 UTC (6 years, 3 months ago) by niro
File size: 6832 byte(s)
Wed Jun 13 15:43:08 2018 UTC (6 years, 3 months ago) by niro
File size: 6832 byte(s)
-fix ftbfs against newer libgpg-error
1 | niro | 3129 | From: Franck Bui <fbui@suse.com> |
2 | Date: Thu, 15 Mar 2018 06:23:46 +0100 | ||
3 | Subject: basic/macros: rename noreturn into _noreturn_ (#8456) | ||
4 | |||
5 | "noreturn" is reserved and can be used in other header files we include: | ||
6 | |||
7 | [ 16s] In file included from /usr/include/gcrypt.h:30:0, | ||
8 | [ 16s] from ../src/journal/journal-file.h:26, | ||
9 | [ 16s] from ../src/journal/journal-vacuum.c:31: | ||
10 | [ 16s] /usr/include/gpg-error.h:1544:46: error: expected ',' or ';' before ')' token | ||
11 | [ 16s] void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2); | ||
12 | |||
13 | Here we include grcrypt.h (which in turns include gpg-error.h) *after* we | ||
14 | "noreturn" was defined in macro.h. | ||
15 | |||
16 | (cherry picked from commit 848e863acc51ecfb0f3955c498874588201d9130) | ||
17 | --- | ||
18 | src/basic/log.c | 4 ++-- | ||
19 | src/basic/log.h | 4 ++-- | ||
20 | src/basic/macro.h | 19 +++++++++---------- | ||
21 | src/basic/process-util.c | 2 +- | ||
22 | src/basic/process-util.h | 2 +- | ||
23 | src/core/main.c | 4 ++-- | ||
24 | src/journal/test-journal-interleaving.c | 2 +- | ||
25 | src/shared/pager.c | 2 +- | ||
26 | src/udev/collect/collect.c | 2 +- | ||
27 | 9 files changed, 20 insertions(+), 21 deletions(-) | ||
28 | |||
29 | diff --git a/src/basic/log.c b/src/basic/log.c | ||
30 | index 7a7f2cb..16a2431 100644 | ||
31 | --- a/src/basic/log.c | ||
32 | +++ b/src/basic/log.c | ||
33 | @@ -814,7 +814,7 @@ static void log_assert( | ||
34 | log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer); | ||
35 | } | ||
36 | |||
37 | -noreturn void log_assert_failed_realm( | ||
38 | +_noreturn_ void log_assert_failed_realm( | ||
39 | LogRealm realm, | ||
40 | const char *text, | ||
41 | const char *file, | ||
42 | @@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm( | ||
43 | abort(); | ||
44 | } | ||
45 | |||
46 | -noreturn void log_assert_failed_unreachable_realm( | ||
47 | +_noreturn_ void log_assert_failed_unreachable_realm( | ||
48 | LogRealm realm, | ||
49 | const char *text, | ||
50 | const char *file, | ||
51 | diff --git a/src/basic/log.h b/src/basic/log.h | ||
52 | index efcf0f1..314be12 100644 | ||
53 | --- a/src/basic/log.h | ||
54 | +++ b/src/basic/log.h | ||
55 | @@ -186,7 +186,7 @@ int log_dump_internal( | ||
56 | char *buffer); | ||
57 | |||
58 | /* Logging for various assertions */ | ||
59 | -noreturn void log_assert_failed_realm( | ||
60 | +_noreturn_ void log_assert_failed_realm( | ||
61 | LogRealm realm, | ||
62 | const char *text, | ||
63 | const char *file, | ||
64 | @@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm( | ||
65 | #define log_assert_failed(text, ...) \ | ||
66 | log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__) | ||
67 | |||
68 | -noreturn void log_assert_failed_unreachable_realm( | ||
69 | +_noreturn_ void log_assert_failed_unreachable_realm( | ||
70 | LogRealm realm, | ||
71 | const char *text, | ||
72 | const char *file, | ||
73 | diff --git a/src/basic/macro.h b/src/basic/macro.h | ||
74 | index 89bdd85..3a6fc6f 100644 | ||
75 | --- a/src/basic/macro.h | ||
76 | +++ b/src/basic/macro.h | ||
77 | @@ -53,6 +53,15 @@ | ||
78 | #else | ||
79 | #define _fallthrough_ | ||
80 | #endif | ||
81 | +/* Define C11 noreturn without <stdnoreturn.h> and even on older gcc | ||
82 | + * compiler versions */ | ||
83 | +#ifndef _noreturn_ | ||
84 | +#if __STDC_VERSION__ >= 201112L | ||
85 | +#define _noreturn_ _Noreturn | ||
86 | +#else | ||
87 | +#define _noreturn_ __attribute__((noreturn)) | ||
88 | +#endif | ||
89 | +#endif | ||
90 | |||
91 | /* Temporarily disable some warnings */ | ||
92 | #define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \ | ||
93 | @@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) { | ||
94 | #endif | ||
95 | #endif | ||
96 | |||
97 | -/* Define C11 noreturn without <stdnoreturn.h> and even on older gcc | ||
98 | - * compiler versions */ | ||
99 | -#ifndef noreturn | ||
100 | -#if __STDC_VERSION__ >= 201112L | ||
101 | -#define noreturn _Noreturn | ||
102 | -#else | ||
103 | -#define noreturn __attribute__((noreturn)) | ||
104 | -#endif | ||
105 | -#endif | ||
106 | - | ||
107 | #define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \ | ||
108 | static inline void func##p(type *p) { \ | ||
109 | if (*p) \ | ||
110 | diff --git a/src/basic/process-util.c b/src/basic/process-util.c | ||
111 | index aa9846d..e6120af 100644 | ||
112 | --- a/src/basic/process-util.c | ||
113 | +++ b/src/basic/process-util.c | ||
114 | @@ -987,7 +987,7 @@ bool is_main_thread(void) { | ||
115 | return cached > 0; | ||
116 | } | ||
117 | |||
118 | -noreturn void freeze(void) { | ||
119 | +_noreturn_ void freeze(void) { | ||
120 | |||
121 | log_close(); | ||
122 | |||
123 | diff --git a/src/basic/process-util.h b/src/basic/process-util.h | ||
124 | index 93029e3..5170ade 100644 | ||
125 | --- a/src/basic/process-util.h | ||
126 | +++ b/src/basic/process-util.h | ||
127 | @@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid); | ||
128 | |||
129 | bool is_main_thread(void); | ||
130 | |||
131 | -noreturn void freeze(void); | ||
132 | +_noreturn_ void freeze(void); | ||
133 | |||
134 | bool oom_score_adjust_is_valid(int oa); | ||
135 | |||
136 | diff --git a/src/core/main.c b/src/core/main.c | ||
137 | index 076846a..4b2d149 100644 | ||
138 | --- a/src/core/main.c | ||
139 | +++ b/src/core/main.c | ||
140 | @@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX; | ||
141 | static sd_id128_t arg_machine_id = {}; | ||
142 | static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE; | ||
143 | |||
144 | -noreturn static void freeze_or_reboot(void) { | ||
145 | +_noreturn_ static void freeze_or_reboot(void) { | ||
146 | |||
147 | if (arg_crash_reboot) { | ||
148 | log_notice("Rebooting in 10s..."); | ||
149 | @@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) { | ||
150 | freeze(); | ||
151 | } | ||
152 | |||
153 | -noreturn static void crash(int sig) { | ||
154 | +_noreturn_ static void crash(int sig) { | ||
155 | struct sigaction sa; | ||
156 | pid_t pid; | ||
157 | |||
158 | diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c | ||
159 | index 5a88b27..d87bdbd 100644 | ||
160 | --- a/src/journal/test-journal-interleaving.c | ||
161 | +++ b/src/journal/test-journal-interleaving.c | ||
162 | @@ -37,7 +37,7 @@ | ||
163 | |||
164 | static bool arg_keep = false; | ||
165 | |||
166 | -noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { | ||
167 | +_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { | ||
168 | log_internal(LOG_CRIT, error, file, line, func, | ||
169 | "'%s' failed at %s:%u (%s): %m", text, file, line, func); | ||
170 | abort(); | ||
171 | diff --git a/src/shared/pager.c b/src/shared/pager.c | ||
172 | index 75db3c9..681af9c 100644 | ||
173 | --- a/src/shared/pager.c | ||
174 | +++ b/src/shared/pager.c | ||
175 | @@ -47,7 +47,7 @@ static int stored_stderr = -1; | ||
176 | static bool stdout_redirected = false; | ||
177 | static bool stderr_redirected = false; | ||
178 | |||
179 | -noreturn static void pager_fallback(void) { | ||
180 | +_noreturn_ static void pager_fallback(void) { | ||
181 | int r; | ||
182 | |||
183 | r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0); | ||
184 | diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c | ||
185 | index 2821640..c8fa47b 100644 | ||
186 | --- a/src/udev/collect/collect.c | ||
187 | +++ b/src/udev/collect/collect.c | ||
188 | @@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node) | ||
189 | return container_of(node, struct _mate, node); | ||
190 | } | ||
191 | |||
192 | -noreturn static void sig_alrm(int signo) | ||
193 | +_noreturn_ static void sig_alrm(int signo) | ||
194 | { | ||
195 | exit(4); | ||
196 | } | ||
197 |