Makefile: add libssp for Windows
authorVincent Fu <vincent.fu@wdc.com>
Thu, 12 Dec 2019 22:22:06 +0000 (15:22 -0700)
committerVincent Fu <vincent.fu@wdc.com>
Mon, 16 Dec 2019 19:17:52 +0000 (14:17 -0500)
Recent Cygwin mingw releases require linking against libssp to avoid
undefined symbols.

See https://github.com/msys2/MINGW-packages/issues/5868 for discussion.
https://github.com/msys2/MINGW-packages/issues/5803 also contains
discussion of possibly disabling the FORTIFY_SOURCE linker flag.

Fixes: https://github.com/axboe/fio/issues/881
Signed-off-by: Vincent Fu <vincent.fu@wdc.com>
Makefile

index 7aab6abd3231a04ab685aba581b2b8d765425c64..4a07fab3b362479c536bb55a0057170f7dadb7da 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -209,7 +209,7 @@ ifeq ($(CONFIG_TARGET_OS), Darwin)
 endif
 ifneq (,$(findstring CYGWIN,$(CONFIG_TARGET_OS)))
   SOURCE += os/windows/posix.c
-  LIBS  += -lpthread -lpsapi -lws2_32
+  LIBS  += -lpthread -lpsapi -lws2_32 -lssp
   CFLAGS += -DPSAPI_VERSION=1 -Ios/windows/posix/include -Wno-format
 endif
 
@@ -506,7 +506,7 @@ t/time-test: $(T_TT_OBJS)
 
 ifdef CONFIG_HAVE_CUNIT
 unittests/unittest: $(UT_OBJS) $(UT_TARGET_OBJS)
-       $(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(UT_OBJS) $(UT_TARGET_OBJS) -lcunit
+       $(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(UT_OBJS) $(UT_TARGET_OBJS) -lcunit $(LIBS)
 endif
 
 clean: FORCE