summary refs log tree commit diff
path: root/pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2021-08-02 17:08:40 +0200
committerGitHub <noreply@github.com>2021-08-02 17:08:40 +0200
commit15ffca434eb8c47d472c3508abe10616022b31a4 (patch)
treeb0e73ab8b0c835d2a3c6fe6dfecb547d81661cc4 /pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch
parenta476da069049bbdd1630ba1bc66e0ba0512cff15 (diff)
parent5701e5bc3bfb317e1f37ff3fb889eae7584a1206 (diff)
downloadnixpkgs-15ffca434eb8c47d472c3508abe10616022b31a4.tar
nixpkgs-15ffca434eb8c47d472c3508abe10616022b31a4.tar.gz
nixpkgs-15ffca434eb8c47d472c3508abe10616022b31a4.tar.bz2
nixpkgs-15ffca434eb8c47d472c3508abe10616022b31a4.tar.lz
nixpkgs-15ffca434eb8c47d472c3508abe10616022b31a4.tar.xz
nixpkgs-15ffca434eb8c47d472c3508abe10616022b31a4.tar.zst
nixpkgs-15ffca434eb8c47d472c3508abe10616022b31a4.zip
Merge branch 'master' into meshcentral
Diffstat (limited to 'pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch')
-rw-r--r--pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch84
1 files changed, 84 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch b/pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch
new file mode 100644
index 00000000000..735bb1b0b5f
--- /dev/null
+++ b/pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch
@@ -0,0 +1,84 @@
+--- xxgdb-1.12-org/calldbx.c	2012-10-26 17:17:49.810750909 -0700
++++ xxgdb-1.12/calldbx.c	2012-10-26 17:53:59.209918816 -0700
+@@ -69,6 +69,12 @@
+  *    create_io_window(): create an io window for gdb to use 
+  */
+ 
++#ifdef linux
++#ifndef _GNU_SOURCE
++#define _GNU_SOURCE
++#endif
++#endif
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -126,6 +132,13 @@
+ {
+     int master;
+     
++#ifdef _POSIX_SOURCE
++    if ((master = posix_openpt (O_RDWR|O_NOCTTY)) < 0) {
++	perror("posix_openpt failed:");
++    } else {
++	return master;
++    }
++#else
+ #ifdef SVR4				/* (MJH) Use STREAMS */
+ 
+     if((master = open(MASTER_CLONE, O_RDWR)) < 0)
+@@ -152,6 +165,7 @@
+ 	}
+ #endif
+ #endif /* SVR4 */
++#endif /*  _POSIX_SOURCE */
+ 
+ #ifdef GDB
+     fprintf(stderr, "xxgdb: all ptys in use\n");
+@@ -167,7 +181,28 @@
+ {
+     int slave;
+ 
+-#ifdef SVR4				/* (MJH) */
++#ifdef _POSIX_SOURCE
++    char *slave_name = ptsname (master);
++    if (slave_name == NULL) {
++	perror ("Pseudo-tty slave");
++	exit (2);
++    } // end if
++    if (grantpt (master) < 0) {
++	perror ("grantpt error");
++	exit (3);
++    }
++    if (unlockpt (master) < 0) {
++	perror ("unlockpt error");
++	exit (4);
++    }
++    if ((slave = open (slave_name, O_RDWR)) < 0) {
++	perror (slave_name);
++	exit (5);
++    } // end if
++    return slave;
++#else
++#ifdef SVR4		
++	/* (MJH) */
+     char *slave_name = "unknown";
+     extern char *ptsname(int master);
+     void (*handler)();
+@@ -194,6 +229,7 @@
+ 	    }
+     return slave;
+ #endif /* SVR4 */
++#endif /*  _POSIX_SOURCE */
+ }
+ 
+ #ifdef CREATE_IO_WINDOW 
+@@ -230,7 +266,7 @@
+     {
+ 	/* child */
+ 	/* printf("xterm xterm -l -e xxgdbiowin\n");*/
+-	if (execlp("xterm", "xterm", "-e", "xxgdbiowin", 0))
++	if (execlp("xterm", "xterm", "-e", "xxgdbiowin", NULL))
+ 	{
+ 	    printf("exec of 'xterm -e xxgdbiowin' fails\n");
+ 	    unlink("/tmp/iowindowtty");