aboutsummaryrefslogtreecommitdiff
path: root/gdb/windows-nat.c
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2016-01-13 18:27:48 +0000
committerJon Turney <jon.turney@dronecode.org.uk>2020-04-15 15:07:02 +0100
commita0e9b53238c3033222c53b1654da535c0743ab6e (patch)
tree1c444688a7e901ff07b052b39900507709370e85 /gdb/windows-nat.c
parent95a515681272fa3a79624279c1579cce14ad61c0 (diff)
downloadgdb-a0e9b53238c3033222c53b1654da535c0743ab6e.zip
gdb-a0e9b53238c3033222c53b1654da535c0743ab6e.tar.gz
gdb-a0e9b53238c3033222c53b1654da535c0743ab6e.tar.bz2
Better handling of realpath() failure in windows_make_so() on Cygwin
It seems Cygwin's realpath() can fail on certain DLLs (apparently some AV software prevent it working on it's DLLs; See [1], [2]). Warn rather than stopping with an error if that occurs. Based on an original patch from Tim Chick. [1] https://cygwin.com/ml/cygwin/2014-08/msg00401.html [2] https://cygwin.com/ml/cygwin/2015-11/msg00353.html gdb/ChangeLog: 2016-01-20 Jon Turney <jon.turney@dronecode.org.uk> * windows-nat.c (windows_make_so): Warn rather than stopping with an error if realpath() fails.
Diffstat (limited to 'gdb/windows-nat.c')
-rw-r--r--gdb/windows-nat.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 881240c..613153b 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -820,7 +820,10 @@ windows_make_so (const char *name, LPVOID load_addr)
free (rname);
}
else
- error (_("dll path too long"));
+ {
+ warning (_("dll path for \"%s\" too long or inaccessible"), name);
+ strcpy (so->so_name, so->so_original_name);
+ }
}
/* Record cygwin1.dll .text start/end. */
p = strchr (so->so_name, '\0') - (sizeof ("/cygwin1.dll") - 1);