summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--misc/buildroot/ChangeLog3
-rw-r--r--misc/buildroot/configs/README.txt8
-rw-r--r--misc/buildroot/configs/gdb-6_8-cygwin-1_7.patch19
3 files changed, 30 insertions, 0 deletions
diff --git a/misc/buildroot/ChangeLog b/misc/buildroot/ChangeLog
index 84f5c28e4..927bc96a1 100644
--- a/misc/buildroot/ChangeLog
+++ b/misc/buildroot/ChangeLog
@@ -78,3 +78,6 @@ buildroot-1.9 2011-02-10 <spudmonkey@racsa.co.cr>
Cortina. Add configs/m9x12x-defconfig-3.3.6.
buildroot-1.10 2011-xx-xx <spudmonkey@racsa.co.cr>
+
+ * Add patch submitted by Dimiter Georgiev to work around problems in building
+ GDB 6.8 with versions of Cygwin > 1.7.
diff --git a/misc/buildroot/configs/README.txt b/misc/buildroot/configs/README.txt
index 7ea18f475..9101a0178 100644
--- a/misc/buildroot/configs/README.txt
+++ b/misc/buildroot/configs/README.txt
@@ -246,3 +246,11 @@ Building GDB Under Cygwin
http://tech.groups.yahoo.com/group/nuttx/message/726 . Apparently there
are some incompatibilities with Cygwin 1.7 that require an additional
patch. See http://old.nabble.com/-RFA--windows-nat.c%3A-Cygwin%3A-Port-to-Cygwin-1.7-td27735619.html
+
+ A version of this patch for GDB-6.8 and Cywgin 1.7 (and above) is provided
+ in this directory (Thanks to Dimiter Georgiev). That file is called
+ gdb-1_8-cygwin-1_7.patch. This should be copied into the GDB 6.8 toolchain
+ directory if it is needed:
+
+ cp configs/gdb-1_8-cygwin-1_7.patch toolchain/gdb/6.8/.
+
diff --git a/misc/buildroot/configs/gdb-6_8-cygwin-1_7.patch b/misc/buildroot/configs/gdb-6_8-cygwin-1_7.patch
new file mode 100644
index 000000000..93fa15b31
--- /dev/null
+++ b/misc/buildroot/configs/gdb-6_8-cygwin-1_7.patch
@@ -0,0 +1,19 @@
+--- gdb-6.8/gdb/remote-fileio.c.orig 2008-01-01 16:53:12.000000000 -0600
++++ gdb-6.8/gdb/remote-fileio.c 2011-02-12 18:00:07.390625000 -0600
+@@ -1000,12 +1000,12 @@
+ errno = EISDIR;
+ else
+ {
+- char oldfullpath[PATH_MAX + 1];
+- char newfullpath[PATH_MAX + 1];
++ char oldfullpath[PATH_MAX];
++ char newfullpath[PATH_MAX];
+ int len;
+
+- cygwin_conv_to_full_posix_path (oldpath, oldfullpath);
+- cygwin_conv_to_full_posix_path (newpath, newfullpath);
++ cygwin_conv_path (CCP_WIN_A_TO_POSIX, oldpath, oldfullpath, PATH_MAX);
++ cygwin_conv_path (CCP_WIN_A_TO_POSIX, newpath, newfullpath, PATH_MAX);
+ len = strlen (oldfullpath);
+ if (newfullpath[len] == '/'
+ && !strncmp (oldfullpath, newfullpath, len))