From c97dafde5c56e52a01f190ec68b3c21e9dc93ea8 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Mon, 2 Jun 2014 08:05:19 +0900 Subject: [PATCH] build: Handle 'environ' global variable differently on cygwin x86_64 Problem reported by Vasyl Khalak in: . * lib/execute.c.diff: New file. * lib/spawn-pipe.c.diff: Likewise. * Makefile.am (EXTRA_DIST): Add new patches. --- gnulib-local/ChangeLog | 9 +++++++++ gnulib-local/Makefile.am | 2 ++ gnulib-local/lib/execute.c.diff | 18 ++++++++++++++++++ gnulib-local/lib/spawn-pipe.c.diff | 18 ++++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 gnulib-local/lib/execute.c.diff create mode 100644 gnulib-local/lib/spawn-pipe.c.diff diff --git a/gnulib-local/ChangeLog b/gnulib-local/ChangeLog index 15333d7d9..1bfd56fc7 100644 --- a/gnulib-local/ChangeLog +++ b/gnulib-local/ChangeLog @@ -1,3 +1,12 @@ +2014-06-02 Daiki Ueno + + build: Handle 'environ' global variable differently on cygwin x86_64 + Problem reported by Vasyl Khalak in: + . + * lib/execute.c.diff: New file. + * lib/spawn-pipe.c.diff: Likewise. + * Makefile.am (EXTRA_DIST): Add new patches. + 2014-05-14 Daiki Ueno Update after gnulib changed. diff --git a/gnulib-local/Makefile.am b/gnulib-local/Makefile.am index 6d95f12b0..1cde518d9 100644 --- a/gnulib-local/Makefile.am +++ b/gnulib-local/Makefile.am @@ -36,6 +36,7 @@ lib/error.h.diff \ lib/error-progname.c \ lib/error-progname.h \ lib/exitfail.h.diff \ +lib/execute.c.diff \ lib/fd-ostream.oo.c \ lib/fd-ostream.oo.h \ lib/file-ostream.oo.c \ @@ -227,6 +228,7 @@ lib/ostream.oo.h \ lib/progname.h.diff \ lib/regexec.c.diff \ lib/regex_internal.h.diff \ +lib/spawn-pipe.c.diff \ lib/styled-ostream.oo.c \ lib/styled-ostream.oo.h \ lib/term-ostream.oo.c \ diff --git a/gnulib-local/lib/execute.c.diff b/gnulib-local/lib/execute.c.diff new file mode 100644 index 000000000..8f849d228 --- /dev/null +++ b/gnulib-local/lib/execute.c.diff @@ -0,0 +1,18 @@ +diff --git a/execute.c b/execute.c +index e7b4496..1c342da 100644 +--- a/execute.c ++++ b/execute.c +@@ -48,6 +48,13 @@ + + #endif + ++/* environ is the exported symbol referencing the internal ++ __cygwin_environ variable on cygwin64: ++ . */ ++#if defined __CYGWIN__ && defined __x86_64__ ++extern DLL_VARIABLE char **environ; ++#endif ++ + /* The results of open() in this file are not used with fchdir, + therefore save some unnecessary work in fchdir.c. */ + #undef open diff --git a/gnulib-local/lib/spawn-pipe.c.diff b/gnulib-local/lib/spawn-pipe.c.diff new file mode 100644 index 000000000..12a982551 --- /dev/null +++ b/gnulib-local/lib/spawn-pipe.c.diff @@ -0,0 +1,18 @@ +diff --git a/spawn-pipe.c b/spawn-pipe.c +index b3f9e0c..965fb3a 100644 +--- a/spawn-pipe.c ++++ b/spawn-pipe.c +@@ -48,6 +48,13 @@ + + #endif + ++/* environ is the exported symbol referencing the internal ++ __cygwin_environ variable on cygwin64: ++ . */ ++#if defined __CYGWIN__ && defined __x86_64__ ++extern DLL_VARIABLE char **environ; ++#endif ++ + /* The results of open() in this file are not used with fchdir, + therefore save some unnecessary work in fchdir.c. */ + #undef open -- 2.47.2