As a follow up to the first patch "[PATCH] Add check if `libgcc` is available and link `winpthreads` against it instead of `fakelib`" I am sending another possibility how to overcome the undefined references of to outline atomics LSE intrinsic functions for `aarch64-w64-mingw32` GCC build that adds `-mno-outline-atomics` flag to build of `mingw-w64-crt` and `mingw-w64-libraries/winpthreads`. Note that the flag is required for both libraries.
--- mingw-w64-crt/Makefile.am | 1 + mingw-w64-libraries/winpthreads/Makefile.am | 1 + mingw-w64-libraries/winpthreads/configure.ac | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 97ab3b474..fd3e7ae1b 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -23,6 +23,7 @@ AM_CPPFLAGS=$(sysincludes) AM_CFLAGS=-pipe -std=gnu99 -D_CRTBLD -D_WIN32_WINNT=0x0f00 -D__MSVCRT_VERSION__=0x600 -D__USE_MINGW_ANSI_STDIO=0 @IMAGEBASE_CFLAGS@ @CFGUARD_CFLAGS@ @ADD_C_CXX_WARNING_FLAGS@ @ADD_C_ONLY_WARNING_FLAGS@ AM_CXXFLAGS=@ADD_C_CXX_WARNING_FLAGS@ @ADD_CXX_ONLY_WARNING_FLAGS@ CPPFLAGSARM32=-mfpu=vfpv3 +CPPFLAGSARM64=-mno-outline-atomics CPPFLAGS32=-m32 -masm=att CPPFLAGS64=-m64 -masm=att AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ diff --git a/mingw-w64-libraries/winpthreads/Makefile.am b/mingw-w64-libraries/winpthreads/Makefile.am index 54eca7b81..07f22d91d 100644 --- a/mingw-w64-libraries/winpthreads/Makefile.am +++ b/mingw-w64-libraries/winpthreads/Makefile.am @@ -18,6 +18,7 @@ if MSVC AM_CFLAGS += -nologo libwinpthread_la_CPPFLAGS += -D_CRT_NONSTDC_NO_WARNINGS else +libwinpthread_la_CFLAGS = @HOST_CFLAGS@ libwinpthread_la_CPPFLAGS += -D__USE_MINGW_ANSI_STDIO=0 libwinpthread_la_LDFLAGS += -L$(builddir)/fakelib -Wc,-no-pthread EXTRA_libwinpthread_la_DEPENDENCIES = fakelib/libgcc.a fakelib/libgcc_eh.a fakelib/libgcc_s.a diff --git a/mingw-w64-libraries/winpthreads/configure.ac b/mingw-w64-libraries/winpthreads/configure.ac index 47be2d6cc..22f7852b3 100644 --- a/mingw-w64-libraries/winpthreads/configure.ac +++ b/mingw-w64-libraries/winpthreads/configure.ac @@ -19,6 +19,13 @@ AC_PROG_CC AM_PROG_AS AM_PROG_AR +case $host in + aarch64-*) + HOST_CFLAGS="-mno-outline-atomics" + ;; +esac +AC_SUBST([HOST_CFLAGS]) + AS_CASE([$CC], [*cl|*cl.exe], [RC="$am_aux_dir/windres-rc rc.exe" -- 2.34.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public