MSYS2-packages/gdb/1001-msysize.patch
2021-12-28 10:05:48 +01:00

1367 lines
50 KiB
Diff

From 667e2e2e0edd0906276e0e9f58c598590afa88c4 Mon Sep 17 00:00:00 2001
From: Orgad Shaneh <orgads@gmail.com>
Date: Mon, 3 May 2021 11:56:43 +0300
Subject: [PATCH 1/2] msysize
---
ar-lib | 4 +-
bfd/acinclude.m4 | 2 +-
bfd/config.bfd | 4 +-
bfd/configure.ac | 4 ++
compile | 4 +-
config.guess | 3 ++
config.rpath | 8 ++--
config/dfp.m4 | 3 +-
config/elf.m4 | 2 +-
config/lthostflags.m4 | 2 +-
config/mmap.m4 | 4 +-
config/picflag.m4 | 2 +
config/tcl.m4 | 4 +-
configure.ac | 20 ++++-----
gdb/configure.ac | 6 +--
gdb/configure.host | 2 +
gdb/configure.nat | 7 ++-
gdb/configure.tgt | 7 ++-
gdb/testsuite/gdb.base/bigcore.exp | 3 +-
gdb/testsuite/gdb.base/fileio.exp | 2 +-
gdb/testsuite/gdb.base/maint.exp | 2 +-
gdb/testsuite/gdb.base/shreloc.exp | 4 +-
gdb/testsuite/gdb.base/solib-weak.exp | 3 +-
gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp | 3 +-
gdb/testsuite/gdb.server/wrapper.exp | 3 +-
gdb/testsuite/lib/gdb.exp | 22 ++++++---
gdb/windows-nat.c | 6 +++
gdbserver/configure.srv | 4 +-
gnulib/import/m4/double-slash-root.m4 | 2 +-
gnulib/import/m4/dup2.m4 | 2 +-
gnulib/import/m4/fcntl.m4 | 2 +-
libctf/configure.ac | 4 ++
libiberty/configure.ac | 2 +-
libtool.m4 | 36 ++++++++-------
ltmain.sh | 52 +++++++++++-----------
ltoptions.m4 | 2 +-
opcodes/configure.ac | 4 ++
readline/readline/configure.ac | 2 +-
readline/readline/support/config.guess | 3 ++
readline/readline/support/config.rpath | 10 ++---
readline/readline/support/shlib-install | 4 +-
readline/readline/support/shobj-conf | 18 ++++++++
42 files changed, 179 insertions(+), 104 deletions(-)
diff --git a/ar-lib b/ar-lib
index 05094d34c69..1b16134da54 100755
--- a/ar-lib
+++ b/ar-lib
@@ -53,7 +53,7 @@ func_file_conv ()
MINGW*)
file_conv=mingw
;;
- CYGWIN*)
+ CYGWIN*|MSYS*)
file_conv=cygwin
;;
*)
@@ -65,7 +65,7 @@ func_file_conv ()
mingw)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
- cygwin)
+ cygwin|msys)
file=`cygpath -m "$file" || echo "$file"`
;;
wine)
diff --git a/bfd/acinclude.m4 b/bfd/acinclude.m4
index f75deaaaf59..4e0b4463868 100644
--- a/bfd/acinclude.m4
+++ b/bfd/acinclude.m4
@@ -21,7 +21,7 @@ AC_DEFUN([BFD_BINARY_FOPEN],
[AC_REQUIRE([AC_CANONICAL_TARGET])
case "${host}" in
changequote(,)dnl
-*-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
+*-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-msys* | *-*-windows*)
changequote([,])dnl
AC_DEFINE(USE_BINARY_FOPEN, 1, [Use b modifier when opening binary files?]) ;;
esac])dnl
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 30087e3b8f8..92cc89def20 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -679,7 +679,7 @@ case "${targ}" in
targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
want64=true
;;
- x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin)
+ x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin | x86_64-*-msys)
targ_defvec=x86_64_pe_vec
targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_big_vec x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
want64=true
@@ -729,7 +729,7 @@ case "${targ}" in
targ_defvec=i386_elf32_vec
targ_selvecs="iamcu_elf32_vec i386_coff_vec"
;;
- i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
+ i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-msys* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
targ_defvec=i386_pe_vec
targ_selvecs="i386_pe_vec i386_pe_big_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
targ_underscore=yes
diff --git a/bfd/configure.ac b/bfd/configure.ac
index 07a75ed1626..a44245dd811 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -317,6 +317,10 @@ if test "$enable_shared" = "yes"; then
SHARED_LDFLAGS="-no-undefined"
SHARED_LIBADD="-L`pwd`/../libiberty -liberty $SHARED_LIBADD -lcygwin -lkernel32"
;;
+ *-*-msys*)
+ SHARED_LDFLAGS="-no-undefined"
+ SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lmsys-2.0 -lkernel32"
+ ;;
esac
if test -n "$SHARED_LIBADD"; then
diff --git a/compile b/compile
index a85b723c7e6..a4ecdb2519c 100755
--- a/compile
+++ b/compile
@@ -53,7 +53,7 @@ func_file_conv ()
MINGW*)
file_conv=mingw
;;
- CYGWIN*)
+ CYGWIN*|MSYS*)
file_conv=cygwin
;;
*)
@@ -67,7 +67,7 @@ func_file_conv ()
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
- cygwin/*)
+ cygwin/*|msys/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
diff --git a/config.guess b/config.guess
index cc7a8107011..85c30845c7c 100755
--- a/config.guess
+++ b/config.guess
@@ -918,6 +918,9 @@ EOF
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-pc-cygwin
exit ;;
+ amd64:MSYS*:*:* | x86_64:MSYS*:*:*)
+ echo x86_64-pc-msys
+ exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
exit ;;
diff --git a/config.rpath b/config.rpath
index 4dea75957c2..4f12c27e029 100755
--- a/config.rpath
+++ b/config.rpath
@@ -109,7 +109,7 @@ hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
- cygwin* | mingw* | pw32*)
+ cygwin* | msys* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -149,7 +149,7 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
fi
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | msys* | mingw* | pw32*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
@@ -268,7 +268,7 @@ else
;;
bsdi4*)
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | msys* | mingw* | pw32*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -437,7 +437,7 @@ case "$host_os" in
;;
bsdi4*)
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | msys* | mingw* | pw32*)
shrext=.dll
;;
darwin* | rhapsody*)
diff --git a/config/dfp.m4 b/config/dfp.m4
index a137ddebf8c..249eed50285 100644
--- a/config/dfp.m4
+++ b/config/dfp.m4
@@ -23,7 +23,8 @@ Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
i?86*-*-elfiamcu | i?86*-*-gnu* | x86_64*-*-gnu* | \
i?86*-*-mingw* | x86_64*-*-mingw* | \
- i?86*-*-cygwin* | x86_64*-*-cygwin*)
+ i?86*-*-cygwin* | x86_64*-*-cygwin* | \
+ i?86*-*-msys* | x86_64*-*-msys*)
enable_decimal_float=yes
;;
*)
diff --git a/config/elf.m4 b/config/elf.m4
index 1772a44318e..7d4f5054562 100644
--- a/config/elf.m4
+++ b/config/elf.m4
@@ -15,7 +15,7 @@ AC_REQUIRE([AC_CANONICAL_TARGET])
target_elf=no
case $target in
- *-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \
+ *-darwin* | *-aix* | *-cygwin* |*-msys* | *-mingw* | *-aout* | *-*coff* | \
*-msdosdjgpp* | *-vms* | *-wince* | *-*-pe* | \
alpha*-dec-osf* | *-interix* | hppa[[12]]*-*-hpux* | \
nvptx-*-none)
diff --git a/config/lthostflags.m4 b/config/lthostflags.m4
index bc0f59ee79e..ad977d43dc5 100644
--- a/config/lthostflags.m4
+++ b/config/lthostflags.m4
@@ -13,7 +13,7 @@ AC_DEFUN([ACX_LT_HOST_FLAGS], [
AC_REQUIRE([AC_CANONICAL_SYSTEM])
case $host in
- *-cygwin* | *-mingw*)
+ *-cygwin* | *-msys* | *-mingw*)
# 'host' will be top-level target in the case of a target lib,
# we must compare to with_cross_host to decide if this is a native
# or cross-compiler and select where to install dlls appropriately.
diff --git a/config/mmap.m4 b/config/mmap.m4
index fba0d9d3657..df2c778524c 100644
--- a/config/mmap.m4
+++ b/config/mmap.m4
@@ -42,7 +42,7 @@ else
# Systems known to be in this category are Windows (all variants),
# VMS, and Darwin.
case "$host_os" in
- *vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
+ *vms* | cygwin* | msys* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
gcc_cv_func_mmap_dev_zero=no ;;
*)
gcc_cv_func_mmap_dev_zero=yes;;
@@ -74,7 +74,7 @@ else
# above for use of /dev/zero.
# Systems known to be in this category are Windows, VMS, and SCO Unix.
case "$host_os" in
- *vms* | cygwin* | pe | mingw* | sco* | udk* )
+ *vms* | cygwin* | msys* | pe | mingw* | sco* | udk* )
gcc_cv_func_mmap_anon=no ;;
*)
gcc_cv_func_mmap_anon=yes;;
diff --git a/config/picflag.m4 b/config/picflag.m4
index 8b106f9af88..48846c30d7c 100644
--- a/config/picflag.m4
+++ b/config/picflag.m4
@@ -25,6 +25,8 @@ case "${$2}" in
;;
i[[34567]]86-*-cygwin* | x86_64-*-cygwin*)
;;
+ i[[34567]]86-*-msys* | x86_64-*-msys*)
+ ;;
i[[34567]]86-*-mingw* | x86_64-*-mingw*)
;;
i[[34567]]86-*-interix[[3-9]]*)
diff --git a/config/tcl.m4 b/config/tcl.m4
index 4542a4b23d7..209bd8d9b8e 100644
--- a/config/tcl.m4
+++ b/config/tcl.m4
@@ -33,7 +33,7 @@ AC_DEFUN([SC_PATH_TCLCONFIG], [
# First check to see if --with-tcl was specified.
case "${host}" in
- *-*-cygwin*) platDir="win" ;;
+ *-*-cygwin* | *-*-msys*) platDir="win" ;;
*) platDir="unix" ;;
esac
if test x"${with_tclconfig}" != x ; then
@@ -165,7 +165,7 @@ AC_DEFUN([SC_PATH_TKCONFIG], [
# then check for a private Tk library
case "${host}" in
- *-*-cygwin*) platDir="win" ;;
+ *-*-cygwin* | *-*-msys*) platDir="win" ;;
*) platDir="unix" ;;
esac
if test x"${ac_cv_c_tkconfig}" = x ; then
diff --git a/configure.ac b/configure.ac
index 797a624621e..289b6bde7d6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -408,7 +408,7 @@ AC_ARG_ENABLE(compressed_debug_sections,
# Configure extra directories which are host specific
case "${host}" in
- *-cygwin*)
+ *-cygwin* | *-msys*)
configdirs="$configdirs libtermcap" ;;
esac
@@ -774,7 +774,7 @@ esac
# Disable the go frontend on systems where it is known to not work. Please keep
# this in sync with contrib/config-list.mk.
case "${target}" in
-*-*-darwin* | *-*-cygwin* | *-*-mingw*)
+*-*-darwin* | *-*-cygwin* | *-*-msys* | *-*-mingw*)
unsupported_languages="$unsupported_languages go"
;;
esac
@@ -803,7 +803,7 @@ if test x$enable_libgo = x; then
# PR 46986
noconfigdirs="$noconfigdirs target-libgo"
;;
- *-*-cygwin* | *-*-mingw*)
+ *-*-cygwin* | *-*-msys* | *-*-mingw*)
noconfigdirs="$noconfigdirs target-libgo"
;;
esac
@@ -1071,7 +1071,7 @@ case "${target}" in
i[[3456789]]86-*-mingw*)
target_configdirs="$target_configdirs target-winsup"
;;
- *-*-cygwin*)
+ *-*-cygwin* | *-*-msys*)
target_configdirs="$target_configdirs target-libtermcap target-winsup"
noconfigdirs="$noconfigdirs target-libgloss"
# always build newlib if winsup directory is present.
@@ -1219,7 +1219,7 @@ case "${host}" in
i[[3456789]]86-*-msdosdjgpp*)
host_makefile_frag="config/mh-djgpp"
;;
- *-cygwin*)
+ *-cygwin* | *-msys*)
ACX_CHECK_CYGWIN_CAT_WORKS
host_makefile_frag="config/mh-cygwin"
;;
@@ -1782,7 +1782,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
build_lto_plugin=yes
],[if test x"$default_enable_lto" = x"yes" ; then
case $target in
- *-apple-darwin[[912]]* | *-cygwin* | *-mingw* | *djgpp*) ;;
+ *-apple-darwin[[912]]* | *-cygwin* | *-msys* | *-mingw* | *djgpp*) ;;
# On other non-ELF platforms, LTO has yet to be validated.
*) enable_lto=no ;;
esac
@@ -1793,7 +1793,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
# warn during gcc/ subconfigure; unless you're bootstrapping with
# -flto it won't be needed until after installation anyway.
case $target in
- *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;;
+ *-cygwin* | *-msys* | *-mingw* | *-apple-darwin* | *djgpp*) ;;
*) if test x"$enable_lto" = x"yes"; then
AC_MSG_ERROR([LTO support is not enabled for this target.])
fi
@@ -1803,7 +1803,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
# Among non-ELF, only Windows platforms support the lto-plugin so far.
# Build it unless LTO was explicitly disabled.
case $target in
- *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;;
+ *-cygwin* | *-msys* | *-mingw*) build_lto_plugin=$enable_lto ;;
*) ;;
esac
])
@@ -2676,7 +2676,7 @@ rm -f conftest*
case "${host}" in
*-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
*-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
- *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
+ *-*-mingw* | *-*-cygwin | *-*-msys ) RPATH_ENVVAR=PATH ;;
*) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
esac
@@ -3205,7 +3205,7 @@ case " $target_configdirs " in
case " $target_configargs " in
*" --with-newlib "*)
case "$target" in
- *-cygwin*)
+ *-cygwin* | *-msys*)
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -isystem $$s/winsup/cygwin/include'
;;
esac
diff --git a/gdb/configure.ac b/gdb/configure.ac
index b8c79bcac9a..0e9b695752f 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -574,7 +574,7 @@ fi
# have a separate termcap library, or no curses library at all.
case $host_os in
- cygwin*)
+ cygwin* | msys*)
if test -d "$srcdir/libtermcap"; then
LIBS="../libtermcap/libtermcap.a $LIBS"
ac_cv_search_tgetent="../libtermcap/libtermcap.a"
@@ -1840,7 +1840,7 @@ WIN32LIBS=
if test x"$gdb_cv_os_cygwin" = xyes; then
WIN32LIBS="-luser32"
case "${target}" in
- *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
+ *cygwin* | *msys*) WIN32LIBS="$WIN32LIBS -limagehlp"
;;
esac
fi
@@ -1904,7 +1904,7 @@ AC_SUBST(WIN32LIBS)
AC_SUBST(WIN32LDAPP)
case "${host}" in
-*-*-cygwin* | *-*-mingw* )
+*-*-cygwin* | *-*-msys* | *-*-mingw* )
configdir="win"
;;
*)
diff --git a/gdb/configure.host b/gdb/configure.host
index e94a19b0332..d5d6330c34a 100644
--- a/gdb/configure.host
+++ b/gdb/configure.host
@@ -120,6 +120,7 @@ i[34567]86-*-openbsd*) gdb_host=obsd ;;
i[34567]86-*-solaris2* | x86_64-*-solaris2*)
gdb_host=sol2 ;;
i[34567]86-*-cygwin*) gdb_host=cygwin ;;
+i[34567]86-*-msys*) gdb_host=msys ;;
ia64-*-linux*) gdb_host=linux ;;
@@ -185,6 +186,7 @@ x86_64-*-mingw*) gdb_host=mingw64
gdb_host_obs=mingw-hdep.o
;;
x86_64-*-cygwin*) gdb_host=cygwin64 ;;
+x86_64-*-msys*) gdb_host=msys64 ;;
m32r*-*-linux*) gdb_host=linux ;;
xtensa*-*-linux*) gdb_host=linux ;;
diff --git a/gdb/configure.nat b/gdb/configure.nat
index e34cccffd98..7c5b69d824e 100644
--- a/gdb/configure.nat
+++ b/gdb/configure.nat
@@ -77,6 +77,9 @@ case ${gdb_host} in
cygwin*)
NATDEPFILES='x86-nat.o nat/x86-dregs.o windows-nat.o nat/windows-nat.o'
;;
+ msys*)
+ NATDEPFILES='x86-nat.o nat/x86-dregs.o windows-nat.o nat/windows-nat.o'
+ ;;
mingw*)
NATDEPFILES='x86-nat.o nat/x86-dregs.o windows-nat.o nat/windows-nat.o'
;;
@@ -123,7 +126,7 @@ case ${gdb_host} in
;;
esac
;;
- cygwin)
+ cygwin | msys)
case ${gdb_host_cpu} in
i386)
# Native config information for GDB on i386
@@ -132,7 +135,7 @@ case ${gdb_host} in
;;
esac
;;
- cygwin64)
+ cygwin64 | msys64)
case ${gdb_host_cpu} in
i386)
# Native config information for GDB on amd64
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index 97a5a57c378..5efbc0790b4 100644
--- a/gdb/configure.tgt
+++ b/gdb/configure.tgt
@@ -316,6 +316,11 @@ i[34567]86-*-cygwin*)
# Target: Intel 386 running win32
gdb_target_obs="i386-windows-tdep.o windows-tdep.o"
;;
+i[34567]86-*-msys*)
+ # Target: Intel 386 running win32
+ gdb_target_obs="i386-windows-tdep.o windows-tdep.o"
+ build_gdbserver=yes
+ ;;
i[34567]86-*-mingw32*)
# Target: Intel 386 running win32
gdb_target_obs="i386-windows-tdep.o windows-tdep.o"
@@ -738,7 +743,7 @@ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
gdb_target_obs="amd64-fbsd-tdep.o ${i386_tobjs} \
i386-bsd-tdep.o i386-fbsd-tdep.o"
;;
-x86_64-*-mingw* | x86_64-*-cygwin*)
+x86_64-*-mingw* | x86_64-*-cygwin* | x86_64-*-msys*)
# Target: MingW/amd64
gdb_target_obs="amd64-windows-tdep.o \
${i386_tobjs} i386-windows-tdep.o \
diff --git a/gdb/testsuite/gdb.base/bigcore.exp b/gdb/testsuite/gdb.base/bigcore.exp
index bac72f07484..b6030b06e81 100644
--- a/gdb/testsuite/gdb.base/bigcore.exp
+++ b/gdb/testsuite/gdb.base/bigcore.exp
@@ -33,7 +33,8 @@ if ![isnative] then {
if { [istarget "*-*-*bsd*"]
|| [istarget "*-*-solaris*"]
|| [istarget "*-*-darwin*"]
- || [istarget "*-*-cygwin*"] } {
+ || [istarget "*-*-cygwin*"]
+ || [istarget "*-*-msys*"] } {
untested "kernel lacks sparse corefile support (PR gdb/1551)"
return
}
diff --git a/gdb/testsuite/gdb.base/fileio.exp b/gdb/testsuite/gdb.base/fileio.exp
index eb88b4e0420..31f13d9d439 100644
--- a/gdb/testsuite/gdb.base/fileio.exp
+++ b/gdb/testsuite/gdb.base/fileio.exp
@@ -253,7 +253,7 @@ gdb_test continue \
# This test fails on Cygwin because unlink() succeeds on Win32 systems
# in that situation.
-if [ishost *cygwin*] {
+if { ([ishost *cygwin*] || [ishost *msys*]) } {
setup_xfail "*-*-*"
}
gdb_test continue \
diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp
index 6831d1ba720..9dd338cf879 100644
--- a/gdb/testsuite/gdb.base/maint.exp
+++ b/gdb/testsuite/gdb.base/maint.exp
@@ -186,7 +186,7 @@ gdb_test "maint set per-command off" \
# The timeout value is raised, because printing all the symbols and
# statistical information about Cygwin and Windows libraries takes a lot
# of time.
-if [istarget "*-*-cygwin*"] {
+if { ([istarget "*-*-cygwin*"] || [istarget "*-*-msys*"]) } {
set oldtimeout $timeout
set timeout [expr $timeout + 500]
}
diff --git a/gdb/testsuite/gdb.base/shreloc.exp b/gdb/testsuite/gdb.base/shreloc.exp
index 8cc9adb123e..b82db96e1a9 100644
--- a/gdb/testsuite/gdb.base/shreloc.exp
+++ b/gdb/testsuite/gdb.base/shreloc.exp
@@ -44,7 +44,7 @@ if [get_compiler_info] {
set lib_opts "debug"
set exec_opts [list debug shlib=$lib1_sl shlib=$lib2_sl]
-if {([istarget "*pc-cygwin"] || [istarget "*pc-mingw32"]) } {
+if {([istarget "*pc-cygwin"] || [istarget "*pc-mingw32"] || [istarget "*pc-msys"]) } {
lappend lib_opts "ldflags=-Wl,--image-base,0x04000000"
}
@@ -226,7 +226,7 @@ if [send_gdb_discard "maint print msymbols ${msymfile}"] {
}
}
-if {([istarget "*pc-cygwin"] || [istarget "*pc-mingw32"]) } {
+if {([istarget "*pc-cygwin"] || [istarget "*pc-mingw32"] || [istarget "*pc-msys"]) } {
#
# We know the names of some absolute symbols included in the
# portable-executable (DLL) format. Check that they didn't get
diff --git a/gdb/testsuite/gdb.base/solib-weak.exp b/gdb/testsuite/gdb.base/solib-weak.exp
index bc4d2e57efd..6ab359137c7 100644
--- a/gdb/testsuite/gdb.base/solib-weak.exp
+++ b/gdb/testsuite/gdb.base/solib-weak.exp
@@ -24,7 +24,8 @@ if {[skip_shlib_tests]} {
# These targets have shared libraries, but weak symbols are not meaningful.
if {([istarget *-*-mingw*]
|| [istarget *-*-cygwin*]
- || [istarget *-*-pe*])} {
+ || [istarget *-*-pe*]
+ || [istarget *-*-msys*]) } {
return 0
}
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp b/gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp
index 580272986c9..0d4f37ceff0 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp
@@ -32,7 +32,8 @@ gdb_test_no_output "set breakpoint pending off"
gdb_test "break 'z:file.c':func" {Breakpoint [0-9]+ at .*}
set dos [expr [istarget "*-*-cygwin*"] || [istarget "i?86-*-mingw*"] \
- || [istarget "*-*-msdosdjgpp*"] || [istarget "*-*-go32*"] ]
+ || [istarget "*-*-msdosdjgpp*"] || [istarget "*-*-go32*"] \
+ || [istarget "*-*-msys*"] ]
if { $dos } {
gdb_test "break file.c:func" {Breakpoint [0-9]+ at .*}
diff --git a/gdb/testsuite/gdb.server/wrapper.exp b/gdb/testsuite/gdb.server/wrapper.exp
index 27d37bac02e..7e6b924ac67 100644
--- a/gdb/testsuite/gdb.server/wrapper.exp
+++ b/gdb/testsuite/gdb.server/wrapper.exp
@@ -26,7 +26,8 @@ if { [skip_gdbserver_tests] } {
}
if { [istarget *-*-mingw*]
- || [istarget *-*-cygwin*] } {
+ || [istarget *-*-cygwin*]
+ || [istarget *-*-msys*] } {
unsupported "gdbserver does not support --wrapper on this target (PR server/15967)"
return -1
}
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 236917e6776..0f9c4be3152 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -2306,7 +2306,8 @@ proc skip_shlib_tests {} {
|| [istarget *-*-solaris2*]
|| [istarget *-*-mingw*]
|| [istarget *-*-cygwin*]
- || [istarget *-*-pe*])} {
+ || [istarget *-*-pe*]
+ || [istarget *-*-msys*])} {
return 0
}
@@ -4257,7 +4258,8 @@ proc gdb_compile {source dest type options} {
lappend source "-Wl,$shlib_name"
} elseif { ([istarget "*-*-mingw*"]
|| [istarget *-*-cygwin*]
- || [istarget *-*-pe*])} {
+ || [istarget *-*-pe*]
+ || [istarget *-*-msys*])} {
lappend source "${shlib_name}.a"
} else {
lappend source $shlib_name
@@ -4265,7 +4267,8 @@ proc gdb_compile {source dest type options} {
if { $shlib_found == 0 } {
set shlib_found 1
if { ([istarget "*-*-mingw*"]
- || [istarget *-*-cygwin*]) } {
+ || [istarget *-*-cygwin*]
+ || [istarget *-*-msys*]) } {
lappend new_options "additional_flags=-Wl,--enable-auto-import"
}
if { [test_compiler_info "gcc-*"] || [test_compiler_info "clang-*"] } {
@@ -4305,6 +4308,7 @@ proc gdb_compile {source dest type options} {
if { $shlib_load || $shlib_found } {
if { ([istarget "*-*-mingw*"]
|| [istarget *-*-cygwin*]
+ || [istarget *-*-msys*]
|| [istarget *-*-pe*]) } {
# Do not need anything.
} elseif { [istarget *-*-freebsd*] || [istarget *-*-openbsd*] } {
@@ -4392,7 +4396,8 @@ proc gdb_compile {source dest type options} {
if { $type == "executable" } {
if { ([istarget "*-*-mingw*"]
|| [istarget "*-*-*djgpp"]
- || [istarget "*-*-cygwin*"])} {
+ || [istarget "*-*-cygwin*"]
+ || [istarget "*-*-msys*"])} {
# Force output to unbuffered mode, by linking in an object file
# with a global contructor that calls setvbuf.
#
@@ -4528,6 +4533,7 @@ proc gdb_compile_shlib_1 {sources dest options} {
}
"clang-*" {
if { [istarget "*-*-cygwin*"]
+ || [istarget *-*-msys*]
|| [istarget "*-*-mingw*"] } {
lappend obj_options "additional_flags=-fPIC"
} else {
@@ -4538,6 +4544,7 @@ proc gdb_compile_shlib_1 {sources dest options} {
if { [istarget "powerpc*-*-aix*"]
|| [istarget "rs6000*-*-aix*"]
|| [istarget "*-*-cygwin*"]
+ || [istarget "*-*-msys*"]
|| [istarget "*-*-mingw*"]
|| [istarget "*-*-pe*"] } {
lappend obj_options "additional_flags=-fPIC"
@@ -4603,6 +4610,7 @@ proc gdb_compile_shlib_1 {sources dest options} {
if { ([istarget "*-*-mingw*"]
|| [istarget *-*-cygwin*]
+ || [istarget *-*-msys*]
|| [istarget *-*-pe*]) } {
if { [is_remote host] } {
set name [file tail ${dest}]
@@ -4630,6 +4638,7 @@ proc gdb_compile_shlib_1 {sources dest options} {
if { [is_remote host]
&& ([istarget "*-*-mingw*"]
|| [istarget *-*-cygwin*]
+ || [istarget *-*-msys*]
|| [istarget *-*-pe*]) } {
set dest_tail_name [file tail ${dest}]
remote_upload host $dest_tail_name.a ${dest}.a
@@ -4972,7 +4981,7 @@ proc kill_wait_spawned_process { proc_spawn_id } {
proc spawn_id_get_pid { spawn_id } {
set testpid [exp_pid -i $spawn_id]
- if { [istarget "*-*-cygwin*"] } {
+ if { ([istarget "*-*-cygwin*"] || [istarget *-*-msys*]) } {
# testpid is the Cygwin PID, GDB uses the Windows PID, which
# might be different due to the way fork/exec works.
set testpid [ exec ps -e | gawk "{ if (\$1 == $testpid) print \$4; }" ]
@@ -6360,6 +6369,7 @@ gdb_caching_proc gdb_has_argv0 {
|| [istarget *-*-aix*]
|| [istarget *-*-gnu*]
|| [istarget *-*-cygwin*] || [istarget *-*-mingw32*]
+ || [istarget *-*-msys*]
|| [istarget *-*-*djgpp*] || [istarget *-*-go32*]
|| [istarget *-wince-pe] || [istarget *-*-mingw32ce*]
|| [istarget *-*-osf*]
@@ -6394,7 +6404,7 @@ gdb_caching_proc gdb_has_argv0 {
proc get_build_id { filename } {
if { ([istarget "*-*-mingw*"]
- || [istarget *-*-cygwin*]) } {
+ || [istarget *-*-cygwin*] || [istarget *-*-msys*]) } {
set objdump_program [gdb_find_objdump]
set result [catch {set data [exec $objdump_program -p $filename | grep signature | cut "-d " -f4]} output]
verbose "result is $result"
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 05d95ea7d6a..b0a0189f39d 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -758,9 +758,15 @@ windows_make_so (const char *name, LPVOID load_addr)
strcpy (so->so_name, so->so_original_name);
}
}
+#ifdef __MSYS__
+ /* Record msys-2.0.dll .text start/end. */
+ p = strchr (so->so_name, '\0') - (sizeof ("/msys-2.0.dll") - 1);
+ if (p >= so->so_name && strcasecmp (p, "/msys-2.0.dll") == 0)
+#else
/* Record cygwin1.dll .text start/end. */
p = strchr (so->so_name, '\0') - (sizeof ("/cygwin1.dll") - 1);
if (p >= so->so_name && strcasecmp (p, "/cygwin1.dll") == 0)
+#endif
{
asection *text = NULL;
diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv
index 971f537bffa..55ce20bdffd 100644
--- a/gdbserver/configure.srv
+++ b/gdbserver/configure.srv
@@ -87,7 +87,7 @@ case "${gdbserver_host}" in
srv_linux_regsets=yes
srv_linux_thread_db=yes
;;
- i[34567]86-*-cygwin*) srv_regobj=""
+ i[34567]86-*-cygwin* | i[34567]86-*-msys*) srv_regobj=""
srv_tgtobj="x86-low.o nat/x86-dregs.o win32-low.o"
srv_tgtobj="${srv_tgtobj} win32-i386-low.o"
srv_tgtobj="${srv_tgtobj} nat/windows-nat.o"
@@ -363,7 +363,7 @@ case "${gdbserver_host}" in
srv_tgtobj="${srv_tgtobj} arch/amd64.o arch/i386.o"
srv_mingw=yes
;;
- x86_64-*-cygwin*) srv_regobj=""
+ x86_64-*-cygwin* | x86_64-*-msys*) srv_regobj=""
srv_tgtobj="x86-low.o nat/x86-dregs.o i387-fp.o"
srv_tgtobj="${srv_tgtobj} win32-low.o win32-i386-low.o"
srv_tgtobj="${srv_tgtobj} nat/windows-nat.o"
diff --git a/gnulib/import/m4/double-slash-root.m4 b/gnulib/import/m4/double-slash-root.m4
index c9bbcef6781..509ebec4b12 100644
--- a/gnulib/import/m4/double-slash-root.m4
+++ b/gnulib/import/m4/double-slash-root.m4
@@ -16,7 +16,7 @@ AC_DEFUN([gl_DOUBLE_SLASH_ROOT],
# special semantics and is distinct from /, please report it to
# <bug-gnulib@gnu.org>.
case $host in
- *-cygwin | i370-ibm-openedition)
+ *-cygwin | *-msys | i370-ibm-openedition)
gl_cv_double_slash_root=yes ;;
*)
# Be optimistic and assume that / and // are the same when we
diff --git a/gnulib/import/m4/dup2.m4 b/gnulib/import/m4/dup2.m4
index 0753a32491e..22da0bc2958 100644
--- a/gnulib/import/m4/dup2.m4
+++ b/gnulib/import/m4/dup2.m4
@@ -69,7 +69,7 @@ AC_DEFUN([gl_FUNC_DUP2],
[case "$host_os" in
mingw*) # on this platform, dup2 always returns 0 for success
gl_cv_func_dup2_works="guessing no" ;;
- cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
+ cygwin* | msys*) # on cygwin 1.5.x, dup2(1,1) returns 0
gl_cv_func_dup2_works="guessing no" ;;
aix* | freebsd*)
# on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
diff --git a/gnulib/import/m4/fcntl.m4 b/gnulib/import/m4/fcntl.m4
index f6264345c1b..cb8bcc47114 100644
--- a/gnulib/import/m4/fcntl.m4
+++ b/gnulib/import/m4/fcntl.m4
@@ -70,7 +70,7 @@ AC_DEFUN([gl_FUNC_FCNTL],
[gl_cv_func_fcntl_f_dupfd_works=yes],
[gl_cv_func_fcntl_f_dupfd_works=no],
[case $host_os in
- aix* | cygwin* | haiku*)
+ aix* | cygwin* | msys* | haiku*)
gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
*) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
esac])])
diff --git a/libctf/configure.ac b/libctf/configure.ac
index 80644b89d67..699fc17cb0f 100644
--- a/libctf/configure.ac
+++ b/libctf/configure.ac
@@ -204,6 +204,10 @@ if test "$enable_shared" = "yes"; then
SHARED_LDFLAGS="-no-undefined"
CTF_LIBADD="$CTF_LIBADD -lcygwin"
;;
+ *-*-msys*)
+ SHARED_LDFLAGS="-no-undefined"
+ CTF_LIBADD="$CTF_LIBADD -lmsys-2.0"
+ ;;
esac
fi
AC_SUBST(SHARED_LDFLAGS)
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index a85ff25501a..c2c4b4f8986 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -553,7 +553,7 @@ AC_SUBST(CHECK)
AC_SUBST(target_header_dir)
case "${host}" in
- *-*-cygwin* | *-*-mingw*)
+ *-*-cygwin* | *-*-msys* | *-*-mingw*)
AC_DEFINE(HAVE_SYS_ERRLIST)
AC_DEFINE(HAVE_SYS_NERR)
;;
diff --git a/libtool.m4 b/libtool.m4
index 9a13f3b117a..7f04016a864 100644
--- a/libtool.m4
+++ b/libtool.m4
@@ -1521,7 +1521,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=-1;
;;
- cygwin* | mingw* | cegcc*)
+ cygwin* | msys* | mingw* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
@@ -1763,7 +1763,7 @@ else
lt_cv_dlopen_libs=
;;
- cygwin*)
+ cygwin* | msys*)
lt_cv_dlopen="dlopen"
lt_cv_dlopen_libs=
;;
@@ -2234,14 +2234,14 @@ bsdi[[45]]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32* | cegcc*)
+cygwin* | msys* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ yes,cygwin* | yes,msys* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
@@ -2262,6 +2262,12 @@ cygwin* | mingw* | pw32* | cegcc*)
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ msys*)
+ # Msys DLLs use 'msys-' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/msys-/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
@@ -3021,7 +3027,7 @@ bsdi[[45]]*)
lt_cv_file_magic_test_file=/shlib/libc.so
;;
-cygwin*)
+cygwin* | msys*)
# func_win32_libid is a shell function defined in ltmain.sh
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
@@ -3305,7 +3311,7 @@ AC_DEFUN([LT_LIB_M],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-msys* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
@@ -3380,7 +3386,7 @@ case $host_os in
aix*)
symcode='[[BCDT]]'
;;
-cygwin* | mingw* | pw32* | cegcc*)
+cygwin* | msys* | mingw* | pw32* | cegcc*)
symcode='[[ABCDGISTW]]'
;;
hpux*)
@@ -3627,7 +3633,7 @@ m4_if([$1], [CXX], [
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
+ mingw* | cygwin* | msys* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -3940,7 +3946,7 @@ m4_if([$1], [CXX], [
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | pw32* | os2* | cegcc*)
+ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -4023,7 +4029,7 @@ m4_if([$1], [CXX], [
fi
;;
- mingw* | cygwin* | pw32* | os2* | cegcc*)
+ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
@@ -4256,7 +4262,7 @@ m4_if([$1], [CXX], [
pw32*)
_LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
;;
- cygwin* | mingw* | cegcc*)
+ cygwin* | msys* | mingw* | cegcc*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
;;
*)
@@ -4308,7 +4314,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
extract_expsyms_cmds=
case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -4423,7 +4429,7 @@ _LT_EOF
fi
;;
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
@@ -4796,7 +4802,7 @@ _LT_EOF
_LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
;;
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -5740,7 +5746,7 @@ if test "$_lt_caught_CXX_error" != yes; then
esac
;;
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
diff --git a/ltmain.sh b/ltmain.sh
index 9503ec85d70..67481b480e2 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -976,7 +976,7 @@ func_enable_tag ()
case $host in
- *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* )
+ *cygwin* | *msys* | *mingw* | *pw32* | *cegcc* | *solaris2* )
# don't eliminate duplications in $postdeps and $predeps
opt_duplicate_compiler_generated_deps=:
;;
@@ -1453,7 +1453,7 @@ func_mode_compile ()
# On Cygwin there's no "real" PIC flag so we must build both object types
case $host_os in
- cygwin* | mingw* | pw32* | os2* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | os2* | cegcc*)
pic_mode=default
;;
esac
@@ -2279,7 +2279,7 @@ func_mode_install ()
'exit $?'
tstripme="$stripme"
case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | cegcc*)
case $realname in
*.dll.a)
tstripme=""
@@ -2385,7 +2385,7 @@ func_mode_install ()
# Do a test to see if this is really a libtool program.
case $host in
- *cygwin* | *mingw*)
+ *cygwin* | *msys* | *mingw*)
if func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
wrapper=$func_ltwrapper_scriptname_result
@@ -2460,7 +2460,7 @@ func_mode_install ()
# remove .exe since cygwin /usr/bin/install will append another
# one anyway
case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
+ */usr/bin/install*,*cygwin*|*/usr/bin/install*,*msys*)
case $file:$destfile in
*.exe:*.exe)
# this is ok
@@ -2595,7 +2595,7 @@ extern \"C\" {
$RM $export_symbols
${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' < "$nlist" > "$export_symbols"
case $host in
- *cygwin* | *mingw* | *cegcc* )
+ *cygwin* | *msys* | *mingw* | *cegcc* )
echo EXPORTS > "$output_objdir/$outputname.def"
cat "$export_symbols" >> "$output_objdir/$outputname.def"
;;
@@ -2607,7 +2607,7 @@ extern \"C\" {
$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T
$MV "$nlist"T "$nlist"
case $host in
- *cygwin* | *mingw* | *cegcc* )
+ *cygwin* | *msys* | *mingw* | *cegcc* )
echo EXPORTS > "$output_objdir/$outputname.def"
cat "$nlist" >> "$output_objdir/$outputname.def"
;;
@@ -2663,7 +2663,7 @@ typedef struct {
} lt_dlsymlist;
"
case $host in
- *cygwin* | *mingw* | *cegcc* )
+ *cygwin* | *msys* | *mingw* | *cegcc* )
echo >> "$output_objdir/$my_dlsyms" "\
/* DATA imports from DLLs on WIN32 con't be const, because
runtime relocations are performed -- see ld's documentation
@@ -2749,7 +2749,7 @@ static const void *lt_preloaded_setup() {
# Transform the symbol file into the correct name.
symfileobj="$output_objdir/${my_outputname}S.$objext"
case $host in
- *cygwin* | *mingw* | *cegcc* )
+ *cygwin* | *msys* | *mingw* | *cegcc* )
if test -f "$output_objdir/$my_outputname.def"; then
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
@@ -3192,7 +3192,7 @@ func_to_host_path ()
func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |
$SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
;;
- *cygwin* )
+ *cygwin* | *msys* )
func_to_host_path_result=`cygpath -w "$1" |
$SED -e "$lt_sed_naive_backslashify"`
;;
@@ -3265,7 +3265,7 @@ func_to_host_pathlist ()
( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |
$SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
;;
- *cygwin* )
+ *cygwin* | *msys* )
func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |
$SED -e "$lt_sed_naive_backslashify"`
;;
@@ -3571,7 +3571,7 @@ main (int argc, char *argv[])
{
EOF
case "$host" in
- *mingw* | *cygwin* )
+ *mingw* | *cygwin* | *msys* )
# make stdout use "unix" line endings
echo " setmode(1,_O_BINARY);"
;;
@@ -4233,7 +4233,7 @@ func_mode_link ()
{
$opt_debug
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
# which system we are compiling for in order to pass an extra
@@ -4713,7 +4713,7 @@ func_mode_link ()
;;
esac
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
@@ -4733,7 +4733,7 @@ func_mode_link ()
-l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
continue
;;
@@ -4813,7 +4813,7 @@ func_mode_link ()
-no-install)
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
func_warning "\`-no-install' is ignored for $host"
@@ -5772,7 +5772,7 @@ func_mode_link ()
if test -n "$library_names" &&
{ test "$use_static_libs" = no || test -z "$old_library"; }; then
case $host in
- *cygwin* | *mingw* | *cegcc*)
+ *cygwin* | *msys* | *mingw* | *cegcc*)
# No point in relinking DLLs because paths are not encoded
notinst_deplibs="$notinst_deplibs $lib"
need_relink=no
@@ -5842,7 +5842,7 @@ func_mode_link ()
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw* | *cegcc*)
+ *cygwin* | *msys* | mingw* | *cegcc*)
func_arith $current - $age
major=$func_arith_result
versuffix="-$major"
@@ -6693,7 +6693,7 @@ func_mode_link ()
if test "$build_libtool_libs" = yes; then
if test -n "$rpath"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
@@ -7194,7 +7194,7 @@ EOF
orig_export_symbols=
case $host_os in
- cygwin* | mingw* | cegcc*)
+ cygwin* | msys* | mingw* | cegcc*)
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
# exporting using user supplied symfile
if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
@@ -7710,7 +7710,7 @@ EOF
prog)
case $host in
- *cygwin*) func_stripname '' '.exe' "$output"
+ *cygwin* | *msys*) func_stripname '' '.exe' "$output"
output=$func_stripname_result.exe;;
esac
test -n "$vinfo" && \
@@ -7823,7 +7823,7 @@ EOF
esac
fi
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
@@ -7901,7 +7901,7 @@ EOF
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
wrappers_required=no
;;
- *cygwin* | *mingw* )
+ *cygwin* | *msys* | *mingw* )
if test "$build_libtool_libs" != yes; then
wrappers_required=no
fi
@@ -8029,14 +8029,14 @@ EOF
esac
# test for cygwin because mv fails w/o .exe extensions
case $host in
- *cygwin*)
+ *cygwin* | *msys*)
exeext=.exe
func_stripname '' '.exe' "$outputname"
outputname=$func_stripname_result ;;
*) exeext= ;;
esac
case $host in
- *cygwin* | *mingw* )
+ *cygwin* | *msys* | *mingw* )
func_dirname_and_basename "$output" "" "."
output_name=$func_basename_result
output_path=$func_dirname_result
@@ -8343,7 +8343,7 @@ EOF
# tests/bindir.at for full details.
tdlname=$dlname
case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ *cygwin*,*lai,yes,no,*.dll | *msys*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
# If a -bindir argument was supplied, place the dll there.
if test "x$bindir" != x ;
then
diff --git a/ltoptions.m4 b/ltoptions.m4
index 5ef12ced2a8..5e7bc34702b 100644
--- a/ltoptions.m4
+++ b/ltoptions.m4
@@ -126,7 +126,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
[enable_win32_dll=yes
case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
diff --git a/opcodes/configure.ac b/opcodes/configure.ac
index e564f067334..1387ce86cd7 100644
--- a/opcodes/configure.ac
+++ b/opcodes/configure.ac
@@ -193,6 +193,10 @@ if test "$enable_shared" = "yes"; then
SHARED_LDFLAGS="-no-undefined"
SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty $SHARED_LIBADD"
;;
+ *-*-msys*)
+ SHARED_LDFLAGS="-no-undefined"
+ SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lmsys-2.0"
+ ;;
*-*-darwin*)
SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}"
SHARED_DEPENDENCIES="../bfd/libbfd.la"
diff --git a/readline/readline/configure.ac b/readline/readline/configure.ac
index 912c99b6575..4e9ee84b7a4 100644
--- a/readline/readline/configure.ac
+++ b/readline/readline/configure.ac
@@ -85,7 +85,7 @@ dnl build machine.
CROSS_COMPILE=
if test "x$cross_compiling" = "xyes"; then
case "${host}" in
- *-cygwin*)
+ *-cygwin* | *-msys*)
cross_cache=${srcdir}/cross-build/cygwin.cache
;;
*-mingw*)
diff --git a/readline/readline/support/config.guess b/readline/readline/support/config.guess
index cc7a8107011..85c30845c7c 100755
--- a/readline/readline/support/config.guess
+++ b/readline/readline/support/config.guess
@@ -918,6 +918,9 @@ EOF
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-pc-cygwin
exit ;;
+ amd64:MSYS*:*:* | x86_64:MSYS*:*:*)
+ echo x86_64-pc-msys
+ exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
exit ;;
diff --git a/readline/readline/support/config.rpath b/readline/readline/support/config.rpath
index fc5913d7878..54df9203647 100755
--- a/readline/readline/support/config.rpath
+++ b/readline/readline/support/config.rpath
@@ -57,7 +57,7 @@ else
aix*)
wl='-Wl,'
;;
- mingw* | cygwin* | pw32* | os2* | cegcc*)
+ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
@@ -149,7 +149,7 @@ hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -198,7 +198,7 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
fi
;;
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | cegcc*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
@@ -348,7 +348,7 @@ else
;;
bsdi[45]*)
;;
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -533,7 +533,7 @@ case "$host_os" in
bsdi[45]*)
library_names_spec='$libname$shrext'
;;
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | msys* | mingw* | pw32* | cegcc*)
shrext=.dll
library_names_spec='$libname.dll.a $libname.lib'
;;
diff --git a/readline/readline/support/shlib-install b/readline/readline/support/shlib-install
index 661355d32b2..39d0fddb96e 100755
--- a/readline/readline/support/shlib-install
+++ b/readline/readline/support/shlib-install
@@ -75,7 +75,7 @@ hpux*|darwin*|macosx*|linux*|solaris2*)
if [ -z "$uninstall" ]; then
chmod 755 ${INSTALLDIR}/${LIBNAME}
fi ;;
-cygwin*|mingw*)
+cygwin*|msys*|mingw*)
IMPLIBNAME=`echo ${LIBNAME} \
| sed -e 's,^cyg,lib,' -e 's,[0-9]*.dll$,.dll.a,'`
if [ -z "$uninstall" ]; then
@@ -162,7 +162,7 @@ hpux1*)
fi
;;
-cygwin*|mingw*)
+cygwin*|msys*|mingw*)
# Links to .dlls don't work. Hence shobj-conf used DLLVERSION.dll
# instead of so.SHLIB_MAJOR.SHLIB_MINOR. The postinstall above
# took care of everything else.
diff --git a/readline/readline/support/shobj-conf b/readline/readline/support/shobj-conf
index 5a3f9776e91..595e92384f2 100755
--- a/readline/readline/support/shobj-conf
+++ b/readline/readline/support/shobj-conf
@@ -494,6 +494,24 @@ cygwin*)
fi
;;
+msys*)
+ SHOBJ_LD='$(CC)'
+ SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
+ SHLIB_LIBPREF='msys-'
+ SHLIB_LIBSUFF='dll'
+ SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
+ SHLIB_LIBS='$(TERMCAP_LIB)'
+
+ SHLIB_DOT=
+ # For official cygwin releases, DLLVERSION will be defined in the
+ # environment of configure, and will be incremented any time the API
+ # changes in a non-backwards compatible manner. Otherwise, it is just
+ # SHLIB_MAJOR.
+ if [ -n "$DLLVERSION" ] ; then
+ SHLIB_DLLVERSION="$DLLVERSION"
+ fi
+ ;;
+
mingw*)
SHOBJ_LD='$(CC)'
SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
--
2.34.1