forked from openembedded/meta-openembedded
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix build with glibc 2.34+ Details of this release [1] [1] http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/postfix-3.6.1.RELEASE_NOTES Signed-off-by: Khem Raj <[email protected]>
- Loading branch information
Showing
2 changed files
with
103 additions
and
1 deletion.
There are no files selected for viewing
101 changes: 101 additions & 0 deletions
101
meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
From 1e451ddc15af1a4e19318c8b1ced46c5c41610d3 Mon Sep 17 00:00:00 2001 | ||
From: Khem Raj <[email protected]> | ||
Date: Wed, 14 Jul 2021 18:08:30 -0700 | ||
Subject: [PATCH] correct signature of closefrom() API | ||
|
||
glibc 2.34 introduced this function and finds this error which has been | ||
all along. | ||
|
||
Upstream-Status: Pending | ||
|
||
Signed-off-by: Khem Raj <[email protected]> | ||
--- | ||
src/util/sys_compat.c | 6 +++--- | ||
src/util/sys_defs.h | 12 ++++++------ | ||
2 files changed, 9 insertions(+), 9 deletions(-) | ||
|
||
diff --git a/src/util/sys_compat.c b/src/util/sys_compat.c | ||
index 8bf8e58..c87f043 100644 | ||
--- a/src/util/sys_compat.c | ||
+++ b/src/util/sys_compat.c | ||
@@ -286,7 +286,7 @@ int dup2_pass_on_exec(int oldd, int newd) | ||
|
||
/* closefrom() - closes all file descriptors from the given one up */ | ||
|
||
-int closefrom(int lowfd) | ||
+void closefrom(int lowfd) | ||
{ | ||
int fd_limit = open_limit(0); | ||
int fd; | ||
@@ -298,14 +298,14 @@ int closefrom(int lowfd) | ||
*/ | ||
if (lowfd < 0) { | ||
errno = EBADF; | ||
- return (-1); | ||
+ return; | ||
} | ||
if (fd_limit > 500) | ||
fd_limit = 500; | ||
for (fd = lowfd; fd < fd_limit; fd++) | ||
(void) close(fd); | ||
|
||
- return (0); | ||
+ return; | ||
} | ||
|
||
#endif | ||
diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h | ||
index 2e1c953..515de6c 100644 | ||
--- a/src/util/sys_defs.h | ||
+++ b/src/util/sys_defs.h | ||
@@ -1509,7 +1509,7 @@ extern int setsid(void); | ||
#endif | ||
|
||
#ifndef HAS_CLOSEFROM | ||
-extern int closefrom(int); | ||
+extern void closefrom(int); | ||
|
||
#endif | ||
|
||
@@ -1563,7 +1563,7 @@ typedef int pid_t; | ||
|
||
/* | ||
* Clang-style attribute tests. | ||
- * | ||
+ * | ||
* XXX Without the unconditional test below, gcc 4.6 will barf on ``elif | ||
* defined(__clang__) && __has_attribute(__whatever__)'' with error message | ||
* ``missing binary operator before token "("''. | ||
@@ -1577,7 +1577,7 @@ typedef int pid_t; | ||
* warn for missing initializations and other trouble. However, OPENSTEP4 | ||
* gcc 2.7.x cannot handle this so we define this only if NORETURN isn't | ||
* already defined above. | ||
- * | ||
+ * | ||
* Data point: gcc 2.7.2 has __attribute__ (Wietse Venema) but gcc 2.6.3 does | ||
* not (Clive Jones). So we'll set the threshold at 2.7. | ||
*/ | ||
@@ -1653,12 +1653,12 @@ typedef int pid_t; | ||
* write to output parameters (for example, stat- or scanf-like functions) | ||
* or from functions that have other useful side effects (for example, | ||
* fseek- or rename-like functions). | ||
- * | ||
+ * | ||
* DO NOT use this for functions that write to a stream; it is entirely | ||
* legitimate to detect write errors with fflush() or fclose() only. On the | ||
* other hand most (but not all) functions that read from a stream must | ||
* never ignore result values. | ||
- * | ||
+ * | ||
* XXX Prepending "(void)" won't shut up GCC. Clang behaves as expected. | ||
*/ | ||
#if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3) | ||
@@ -1739,7 +1739,7 @@ typedef const char *CONST_CHAR_STAR; | ||
* Safety. On some systems, ctype.h misbehaves with non-ASCII or negative | ||
* characters. More importantly, Postfix uses the ISXXX() macros to ensure | ||
* protocol compliance, so we have to rule out non-ASCII characters. | ||
- * | ||
+ * | ||
* XXX The (unsigned char) casts in isalnum() etc arguments are unnecessary | ||
* because the ISASCII() guard already ensures that the values are | ||
* non-negative; the casts are done anyway to shut up chatty compilers. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters