Actions
Bug #13496
closedPatches for MinGW builds - gnu_printf in 'config' & defines.h
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0dev (2018-01-20 trunk 61983) [x64-mingw32]
Description
Thanks to Nobu for 58448, which led me to the probable cause of many (but not all) of the silent SEGV's I was having in test-all, which is the patch of defines.h
.
Since appveyor is currently broken, and I'm not a *nix guy, does anyone know if the following two patches will break travis or appveyor? Or, a better way to do it?
These are the only two patches I have on the 'build' side. The other patches are only for test-all. I believe these should probably be backported to 2.4. Thank you.
--- a/configure.in Wed Apr 19 14:58:48 2017
+++ configure.in Thu Apr 20 13:44:41 2017
@@ -1319,6 +1319,7 @@
])
AC_CHECK_TYPE([NET_LUID], [], [],
[@%:@include <winsock2.h>
+ @%:@include <windows.h>
@%:@include <iphlpapi.h>])
if test x"$ac_cv_type_NET_LUID" = xyes; then
AC_DEFINE(HAVE_TYPE_NET_LUID, 1)
@@ -1657,8 +1658,13 @@
[@%:@include <stdio.h>
@%:@include <stddef.h>
@%:@ifdef __GNUC__
+ @%:@ifdef __MINGW32__
+ @%:@define PRINTF_ARGS(decl, string_index, first_to_check) \
+ decl __attribute__((format(gnu_printf, string_index, first_to_check)))
+ @%:@else
@%:@define PRINTF_ARGS(decl, string_index, first_to_check) \
decl __attribute__((format(printf, string_index, first_to_check)))
+ @%:@endif
@%:@else
@%:@define PRINTF_ARGS(decl, string_index, first_to_check) decl
@%:@endif
and
--- a/include/ruby/defines.h Thu Apr 20 18:58:40 2017
+++ b/include/ruby/defines.h Sat Apr 22 17:08:33 2017
@@ -83,8 +83,13 @@
#endif /* __GNUC__ >= 3 */
#ifdef __GNUC__
+#ifdef __MINGW32__
+#define PRINTF_ARGS(decl, string_index, first_to_check) \
+ decl __attribute__((format(gnu_printf, string_index, first_to_check)))
+#else
#define PRINTF_ARGS(decl, string_index, first_to_check) \
decl __attribute__((format(printf, string_index, first_to_check)))
+#endif
#else
#define PRINTF_ARGS(decl, string_index, first_to_check) decl
#endif
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0