Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!news.hawaii.edu!ames!purdue!lerc.nasa.gov!magnus.acs.ohio-state.edu!csn!news-1.csn.net!news-2.csn.net!teal.csn.net!not-for-mail From: bediger@csn.net (Bruce Ediger) Newsgroups: comp.unix.bsd.netbsd.misc Subject: xxgdb 1.12 - diffs for NetBSD 1.1 Date: 13 Mar 1996 22:35:41 -0700 Organization: Federal Orgone Energy Regulatory Commission Lines: 159 Distribution: world Message-ID: <4i8b7d$u3@teal.csn.net> NNTP-Posting-Host: 199.117.27.22 I am running NetBSD 1.1 for sparc at home. I wanted xxgdb, so I fetched the 1.12 sources from ftp.x.org. Here are the changes I made to get it to compile and work under NetBSD 1.1/sparc. The problems amount to xxgdb sources believing that if BSD is #defined, it has to use "struct sgttyb" stuff. Not so, for NetBSD - it uses struct termios stuff. It's also missing the TCGETA/TCSETA ioctls, too. There was also some weirdness with the scrolling of the gdb input window. It wouldn't scroll until a whole lot of gdb input/output text had scrolled beyond the bottom of the window. I just un-ifdef'ed someone else's hack to correct this. diff -r -c xxgdb-1.12/calldbx.c netbsd.xxgdb-1.12/calldbx.c *** xxgdb-1.12/calldbx.c Mon Jun 19 16:11:00 1995 --- netbsd.xxgdb-1.12/calldbx.c Tue Feb 27 19:21:41 1996 *************** *** 74,84 **** --- 74,88 ---- #include <string.h> #include <fcntl.h> #include "global.h" + #ifdef __NetBSD__ + #include <termios.h> + #else #if !(defined(OLDSUNOS) || defined(BSD)) #include <termio.h> #else #include <sgtty.h> #endif + #endif #ifdef CREATE_IO_WINDOW #include <sys/socket.h> *************** *** 249,256 **** --- 253,264 ---- #if !(defined(OLDSUNOS) || defined(BSD)) struct termio Termio; #else + #ifdef __NetBSD__ + struct termios Termio; + #else struct sgttyb Termio; #endif + #endif int master; /* file descriptor of master pty */ int slave; /* file descriptor of slave pty */ #ifdef OLDBSD *************** *** 361,370 **** --- 369,387 ---- Termio.c_oflag &= ~ONLCR; /* Do not map NL to CR-NL on output */ ioctl(slave, TCSETA, &Termio); #else + + #ifdef __NetBSD__ + tcgetattr(slave, &Termio); + Termio.c_lflag &= ~ECHO; /* No echo */ + Termio.c_oflag &= ~ONLCR; /* Do not map NL to CR-NL on output */ + tcsetattr(slave, TCSANOW, &Termio); + #else ioctl(slave, TIOCGETP, &Termio); Termio.sg_flags &= ~ECHO; /* No echo */ Termio.sg_flags &= ~CRMOD; /* Do not map NL to CR-NL on output */ ioctl(slave, TIOCSETP, &Termio); + #endif + #endif dup2(slave, 0); diff -r -c xxgdb-1.12/command.c netbsd.xxgdb-1.12/command.c *** xxgdb-1.12/command.c Tue Nov 22 17:27:05 1994 --- netbsd.xxgdb-1.12/command.c Tue Feb 27 19:23:35 1996 *************** *** 386,392 **** --- 386,396 ---- #ifdef SYSV int status; #else + #ifdef __NetBSD__ + int status; + #else union wait status; + #endif #endif /* SYSV */ write_dbx("quit\n"); diff -r -c xxgdb-1.12/dialog.c netbsd.xxgdb-1.12/dialog.c *** xxgdb-1.12/dialog.c Mon Jun 19 16:15:13 1995 --- netbsd.xxgdb-1.12/dialog.c Wed Feb 28 17:38:13 1996 *************** *** 391,397 **** StartPos = TextGetLastPos(dialogWindow); XawTextSetInsertionPoint(dialogWindow, StartPos); ! #if 0 /* no longer necessary I think */ /* fix annoying bug that dialog mark is sometimes scrolled off bottom (widget bug?) */ XawTextDisplay(dialogWindow); #endif --- 391,397 ---- StartPos = TextGetLastPos(dialogWindow); XawTextSetInsertionPoint(dialogWindow, StartPos); ! #if 1 /* no longer necessary I think */ /* fix annoying bug that dialog mark is sometimes scrolled off bottom (widget bug?) */ XawTextDisplay(dialogWindow); #endif diff -r -c xxgdb-1.12/regex.c netbsd.xxgdb-1.12/regex.c *** xxgdb-1.12/regex.c Wed Apr 19 10:58:00 1995 --- netbsd.xxgdb-1.12/regex.c Sun Feb 11 23:02:19 1996 *************** *** 123,129 **** #include <assert.h> #ifdef sparc ! #include <alloca.h> #else #pragma alloca #endif --- 123,129 ---- #include <assert.h> #ifdef sparc ! /*#include <alloca.h>*/ #else #pragma alloca #endif diff -r -c xxgdb-1.12/signals.c netbsd.xxgdb-1.12/signals.c *** xxgdb-1.12/signals.c Thu Apr 6 10:25:04 1995 --- netbsd.xxgdb-1.12/signals.c Tue Feb 27 19:26:09 1996 *************** *** 96,102 **** --- 96,106 ---- #ifdef SYSV int status; #else + #ifdef __NetBSD__ + int status; + #else union wait status; + #endif #endif /* SYSV */ /* wait for the child to report its status; if the child has died, diff -r -c xxgdb-1.12/xdbx.c netbsd.xxgdb-1.12/xdbx.c *** xxgdb-1.12/xdbx.c Thu Apr 20 20:37:31 1995 --- netbsd.xxgdb-1.12/xdbx.c Tue Mar 12 22:27:00 1996 *************** *** 476,481 **** --- 476,482 ---- toplevel = XtAppInitialize(&app_context, "XDbx", options, XtNumber(options), &argc, argv, fallback_resources, NULL, 0); + if (argc > 3) Syntax(argv[0]); XtGetApplicationResources(toplevel, &app_resources, resources,