forked from openwrt/openwrt
-
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.
tools: patch various gnu tools for macOS 10.13
These host tools compile but may crash at runtime when building on macOS 10.13 (High Sierra). Backport upstream gnulib patch until new releases of affected tools. https://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00056.html https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=c41f233c4c38e84023a16339782ee306f03e7f59 Signed-off-by: Ryan Mounce <[email protected]>
- Loading branch information
Showing
5 changed files
with
125 additions
and
0 deletions.
There are no files selected for viewing
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,25 @@ | ||
--- a/lib/vasnprintf.c | ||
+++ b/lib/vasnprintf.c | ||
@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
#endif | ||
*fbp = dp->conversion; | ||
#if USE_SNPRINTF | ||
-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
+# if ! (((__GLIBC__ > 2 \ | ||
+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \ | ||
+ && !defined __UCLIBC__) \ | ||
+ || (defined __APPLE__ && defined __MACH__) \ | ||
+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
fbp[1] = '%'; | ||
fbp[2] = 'n'; | ||
fbp[3] = '\0'; | ||
@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
in format strings in writable memory may crash the program | ||
(if compiled with _FORTIFY_SOURCE=2), so we should avoid it | ||
in this situation. */ | ||
+ /* macOS 10.13 High Sierra behaves like glibc with | ||
+ _FORTIFY_SOURCE=2, and older macOS releases | ||
+ presumably do not need %n. */ | ||
/* On native Windows systems (such as mingw), we can avoid using | ||
%n because: | ||
- Although the gl_SNPRINTF_TRUNCATION_C99 test fails, |
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,25 @@ | ||
--- a/lib/vasnprintf.c | ||
+++ b/lib/vasnprintf.c | ||
@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
#endif | ||
*fbp = dp->conversion; | ||
#if USE_SNPRINTF | ||
-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
+# if ! (((__GLIBC__ > 2 \ | ||
+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \ | ||
+ && !defined __UCLIBC__) \ | ||
+ || (defined __APPLE__ && defined __MACH__) \ | ||
+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
fbp[1] = '%'; | ||
fbp[2] = 'n'; | ||
fbp[3] = '\0'; | ||
@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
in format strings in writable memory may crash the program | ||
(if compiled with _FORTIFY_SOURCE=2), so we should avoid it | ||
in this situation. */ | ||
+ /* macOS 10.13 High Sierra behaves like glibc with | ||
+ _FORTIFY_SOURCE=2, and older macOS releases | ||
+ presumably do not need %n. */ | ||
/* On native Windows systems (such as mingw), we can avoid using | ||
%n because: | ||
- Although the gl_SNPRINTF_TRUNCATION_C99 test fails, |
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,25 @@ | ||
--- a/lib/vasnprintf.c | ||
+++ b/lib/vasnprintf.c | ||
@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
#endif | ||
*fbp = dp->conversion; | ||
#if USE_SNPRINTF | ||
-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
+# if ! (((__GLIBC__ > 2 \ | ||
+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \ | ||
+ && !defined __UCLIBC__) \ | ||
+ || (defined __APPLE__ && defined __MACH__) \ | ||
+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
fbp[1] = '%'; | ||
fbp[2] = 'n'; | ||
fbp[3] = '\0'; | ||
@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
in format strings in writable memory may crash the program | ||
(if compiled with _FORTIFY_SOURCE=2), so we should avoid it | ||
in this situation. */ | ||
+ /* macOS 10.13 High Sierra behaves like glibc with | ||
+ _FORTIFY_SOURCE=2, and older macOS releases | ||
+ presumably do not need %n. */ | ||
/* On native Windows systems (such as mingw), we can avoid using | ||
%n because: | ||
- Although the gl_SNPRINTF_TRUNCATION_C99 test fails, |
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,25 @@ | ||
--- a/lib/vasnprintf.c | ||
+++ b/lib/vasnprintf.c | ||
@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
#endif | ||
*fbp = dp->conversion; | ||
#if USE_SNPRINTF | ||
-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
+# if ! (((__GLIBC__ > 2 \ | ||
+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \ | ||
+ && !defined __UCLIBC__) \ | ||
+ || (defined __APPLE__ && defined __MACH__) \ | ||
+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
fbp[1] = '%'; | ||
fbp[2] = 'n'; | ||
fbp[3] = '\0'; | ||
@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
in format strings in writable memory may crash the program | ||
(if compiled with _FORTIFY_SOURCE=2), so we should avoid it | ||
in this situation. */ | ||
+ /* macOS 10.13 High Sierra behaves like glibc with | ||
+ _FORTIFY_SOURCE=2, and older macOS releases | ||
+ presumably do not need %n. */ | ||
/* On native Windows systems (such as mingw), we can avoid using | ||
%n because: | ||
- Although the gl_SNPRINTF_TRUNCATION_C99 test fails, |
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,25 @@ | ||
--- a/gnu/vasnprintf.c | ||
+++ b/gnu/vasnprintf.c | ||
@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
#endif | ||
*fbp = dp->conversion; | ||
#if USE_SNPRINTF | ||
-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
+# if ! (((__GLIBC__ > 2 \ | ||
+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \ | ||
+ && !defined __UCLIBC__) \ | ||
+ || (defined __APPLE__ && defined __MACH__) \ | ||
+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) | ||
fbp[1] = '%'; | ||
fbp[2] = 'n'; | ||
fbp[3] = '\0'; | ||
@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * | ||
in format strings in writable memory may crash the program | ||
(if compiled with _FORTIFY_SOURCE=2), so we should avoid it | ||
in this situation. */ | ||
+ /* macOS 10.13 High Sierra behaves like glibc with | ||
+ _FORTIFY_SOURCE=2, and older macOS releases | ||
+ presumably do not need %n. */ | ||
/* On native Windows systems (such as mingw), we can avoid using | ||
%n because: | ||
- Although the gl_SNPRINTF_TRUNCATION_C99 test fails, |