From 1c93176e0521945bac67f58724ba2bb450a74282 Mon Sep 17 00:00:00 2001 From: Florent Valette Date: Mon, 5 Oct 2020 14:50:42 +0200 Subject: m4: fix build for mingw32 host While building a canadian toolchain for windows host (any target), the build failed for m4 host companion_tool with a recent mingw-w64 (at least 7.0.0). m4 needs stack smashing protection which is not part of mingw-w64 c library and an explicit trigger to link w/ libssp is needed. Signed-off-by: Florent Valette diff --git a/scripts/build/companion_tools/100-m4.sh b/scripts/build/companion_tools/100-m4.sh index 4bbe8d3..7d9044f 100644 --- a/scripts/build/companion_tools/100-m4.sh +++ b/scripts/build/companion_tools/100-m4.sh @@ -42,6 +42,7 @@ do_m4_backend() local prefix local cflags local ldflags + local libs for arg in "$@"; do eval "${arg// /\\ }" @@ -54,12 +55,19 @@ do_m4_backend() # it includes system but expects a locally-built # posix_spawn(). ldflags="${ldflags} -lrt" + ;; + *-mingw32) + # m4 is built with stack smashing protection enabled which + # is not part of mingw-w64 c library in v7.0.0 and later. + libs="${libs} -lssp" + ;; esac CT_DoLog EXTRA "Configuring m4" CT_DoExecLog CFG \ CFLAGS="${cflags}" \ LDFLAGS="${ldflags}" \ + LIBS="${libs}" \ ${CONFIG_SHELL} \ "${CT_SRC_DIR}/m4/configure" \ --host="${host}" \ -- cgit v0.10.2-6-g49f6