--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/gdb/patches/001-fix-proc-name-size.patch Wed Apr 19 14:37:55 2017 -0700
@@ -0,0 +1,28 @@
+#
+# Fix the size of the pathname for /proc files.
+# In Solaris, PID_MAX is 999999 (6 digit pid).
+# In Solaris, lwpid_t is an unsigned int, so theoretically the lwp id
+# could be 10 digits.
+# Patch will be submitted upstream.
+#
+
+--- gdb-7.12.1-orig/gdb/procfs.c 2017-01-21 05:48:42.000000000 -0800
++++ gdb-7.12.1/gdb/procfs.c 2017-04-19 10:28:43.395097240 -0700
+@@ -341,7 +341,7 @@ typedef siginfo_t gdb_siginfo_t;
+ # define AS_PROC_NAME_FMT "/proc/%d/as"
+ # define MAP_PROC_NAME_FMT "/proc/%d/map"
+ # define STATUS_PROC_NAME_FMT "/proc/%d/status"
+-# define MAX_PROC_NAME_SIZE sizeof("/proc/99999/lwp/8096/lstatus")
++# define MAX_PROC_NAME_SIZE sizeof("/proc/0123456789/lwp/0123456789/lwpstatus")
+ # endif
+ /* the name of the proc status struct depends on the implementation */
+ typedef pstatus_t gdb_prstatus_t;
+@@ -712,7 +712,7 @@ create_procinfo (int pid, int tid)
+ else
+ {
+ #ifdef NEW_PROC_API
+- sprintf (pi->pathname, "/proc/%05d/lwp/%d", pid, tid);
++ sprintf (pi->pathname, "/proc/%d/lwp/%d", pid, tid);
+ #else
+ sprintf (pi->pathname, MAIN_PROC_NAME_FMT, pid);
+ #endif