MSYS2-packages/gdb/1005-msysize.patch
Christoph Reiter 3ba41403f1 gdb: fix one missing cygwin dll rename
noticed while refreshing the patches
2025-02-03 19:52:10 +01:00

83 lines
3.0 KiB
Diff

--- gdb-14.2/bfd/configure.ac.orig 2024-03-03 06:54:59.000000000 +0100
+++ gdb-14.2/bfd/configure.ac 2025-02-03 17:09:21.787146100 +0100
@@ -285,7 +285,7 @@
# More hacks to build DLLs on Windows.
*-*-cygwin*)
SHARED_LDFLAGS="-no-undefined"
- SHARED_LIBADD="-L`pwd`/../libiberty -liberty $SHARED_LIBADD -lcygwin -lkernel32"
+ SHARED_LIBADD="-L`pwd`/../libiberty -liberty $SHARED_LIBADD -lmsys-2.0 -lkernel32"
;;
esac
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index d46de87f238..971efd086c0 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -900,11 +900,19 @@ windows_make_so (const char *name, LPVOID load_addr)
}
}
}
+#ifdef __MSYS__
+ /* Record msys-2.0.dll .text start/end. */
+ size_t len = sizeof ("/msys-2.0.dll") - 1;
+ if (so->name.size () >= len
+ && strcasecmp (so->name.c_str () + so->name.size () - len,
+ "/msys-2.0.dll") == 0)
+#else
/* Record cygwin1.dll .text start/end. */
size_t len = sizeof ("/cygwin1.dll") - 1;
if (so->name.size () >= len
&& strcasecmp (so->name.c_str () + so->name.size () - len,
"/cygwin1.dll") == 0)
+#endif
{
asection *text = NULL;
--- gdb-14.2/gdb/windows-tdep.c.orig 2025-02-03 17:39:53.204129800 +0100
+++ gdb-14.2/gdb/windows-tdep.c 2025-02-03 18:32:18.712714400 +0100
@@ -38,7 +38,11 @@
#include "libcoff.h"
#include "solist.h"
+#ifdef __MSYS__
+#define CYGWIN_DLL_NAME "msys-2.0.dll"
+#else
#define CYGWIN_DLL_NAME "cygwin1.dll"
+#endif
/* Windows signal numbers differ between MinGW flavors and between
those and Cygwin. The below enumerations were gleaned from the
--- gdb-14.2/libctf/configure.ac.orig 2024-03-03 06:55:00.000000000 +0100
+++ gdb-14.2/libctf/configure.ac 2025-02-03 17:10:13.336687000 +0100
@@ -227,7 +227,7 @@
# More hacks to build DLLs on Windows.
*-*-cygwin*)
SHARED_LDFLAGS="-no-undefined"
- CTF_LIBADD="$CTF_LIBADD -lcygwin"
+ CTF_LIBADD="$CTF_LIBADD -lmsys-2.0"
;;
esac
fi
--- gdb-14.2/libtool.m4.orig 2023-10-08 09:51:14.000000000 +0200
+++ gdb-14.2/libtool.m4 2025-02-03 17:11:29.960518700 +0100
@@ -2263,7 +2263,7 @@
case $host_os in
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}'
+ 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"])
;;
--- gdb-14.2/readline/readline/support/shobj-conf.orig 2023-02-02 05:45:53.000000000 +0100
+++ gdb-14.2/readline/readline/support/shobj-conf 2025-02-03 17:14:47.852169300 +0100
@@ -479,7 +479,7 @@
cygwin*)
SHOBJ_LD='$(CC)'
SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
- SHLIB_LIBPREF='cyg'
+ SHLIB_LIBPREF='msys-'
SHLIB_LIBSUFF='dll'
SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
SHLIB_LIBS='$(TERMCAP_LIB)'