summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorRyan Mounce <ryan@mounce.com.au>2017-08-03 20:37:58 +0930
committerFelix Fietkau <nbd@nbd.name>2017-12-04 10:51:07 +0100
commitf19d47f8482691c54c5b5f363d064e21d2df3bb0 (patch)
tree76f762d9b8deb8b36703e1675b82b44cdb835dbb /tools
parente5a10bc0fcf38553fef9cd6e949f37a9ea7d3e33 (diff)
downloadopenwrt-f19d47f8482691c54c5b5f363d064e21d2df3bb0.tar.gz
openwrt-f19d47f8482691c54c5b5f363d064e21d2df3bb0.tar.bz2
openwrt-f19d47f8482691c54c5b5f363d064e21d2df3bb0.zip
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 <ryan@mounce.com.au>
Diffstat (limited to 'tools')
-rw-r--r--tools/bison/patches/001-fix-macos-vasnprintf.patch25
-rw-r--r--tools/coreutils/patches/001-fix-macos-vasnprintf.patch25
-rw-r--r--tools/m4/patches/001-fix-macos-vasnprintf.patch25
-rw-r--r--tools/patch/patches/001-fix-macos-vasnprintf.patch25
-rw-r--r--tools/tar/patches/001-fix-macos-vasnprintf.patch25
5 files changed, 125 insertions, 0 deletions
diff --git a/tools/bison/patches/001-fix-macos-vasnprintf.patch b/tools/bison/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000..e41315d34e
--- /dev/null
+++ b/tools/bison/patches/001-fix-macos-vasnprintf.patch
@@ -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,
diff --git a/tools/coreutils/patches/001-fix-macos-vasnprintf.patch b/tools/coreutils/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000..e41315d34e
--- /dev/null
+++ b/tools/coreutils/patches/001-fix-macos-vasnprintf.patch
@@ -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,
diff --git a/tools/m4/patches/001-fix-macos-vasnprintf.patch b/tools/m4/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000..e41315d34e
--- /dev/null
+++ b/tools/m4/patches/001-fix-macos-vasnprintf.patch
@@ -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,
diff --git a/tools/patch/patches/001-fix-macos-vasnprintf.patch b/tools/patch/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000..e41315d34e
--- /dev/null
+++ b/tools/patch/patches/001-fix-macos-vasnprintf.patch
@@ -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,
diff --git a/tools/tar/patches/001-fix-macos-vasnprintf.patch b/tools/tar/patches/001-fix-macos-vasnprintf.patch
new file mode 100644
index 0000000000..c7dfbf76e7
--- /dev/null
+++ b/tools/tar/patches/001-fix-macos-vasnprintf.patch
@@ -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,