--- xxgdb-1.12.orig/debian/preinst +++ xxgdb-1.12/debian/preinst @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +# Remove xaw-wrappers stuff. +if [ "$1" = upgrade ] && dpkg --compare-versions "$2" lt-nl 1.12-11; then + if [ "$2" = 1.12-10 ]; then + update-alternatives --remove xxgdb /usr/bin/xxgdb.real + else + update-alternatives --remove xxgdb /usr/X11R6/bin/xxgdb.real + fi + + if [ -n "$(type -path update-xaw-wrappers)" ]; then + update-xaw-wrappers + fi +fi + +#DEBHELPER# --- xxgdb-1.12.orig/debian/rules +++ xxgdb-1.12/debian/rules @@ -0,0 +1,101 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# This file is public domain software, originally written by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +CFLAGS = -Wall -g +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +CFLAGS += -O0 +else +CFLAGS += -O2 +endif + +export CC = gcc + +build: build-stamp +build-stamp: patch + dh_testdir + + # Add here commands to compile the package. + xmkmf -a + $(MAKE) CDEBUGFLAGS='$(CFLAGS) -DUNIX98' \ + ICELIB= EXTENSIONLIB= SMLIB= XMULIB= LIBDIR=/usr/lib + sed '1,/XXGDB history/d;/------------/d' XXGDB_README \ + > debian/upstream.changelog + touch build-stamp + +clean: clean1 unpatch +clean1: + dh_testdir + dh_testroot + dh_prep + dh_clean debian/upstream.changelog + + # Add here commands to clean up after the build process. + test ! -f Makefile || { $(MAKE) clean && rm Makefile; } + +install: build-stamp + dh_testdir + dh_testroot + dh_prep + dh_installdirs usr/share/pixmaps/ + + # Add here commands to install the package into debian/ + install -o root -g root -m 644 debian/mini.debug.xpm debian/xxgdb/usr/share/pixmaps/ + $(MAKE) DESTDIR=`pwd`/debian/xxgdb \ + BINDIR=/usr/bin LIBDIR=/usr/lib install \ + MANPATH=/usr/share/man MANSUFFIX=1 install.man + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs README README.NEW_INTERFACE XXGDB_README XDBX_README + dh_installexamples + dh_installmenu +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_installinit + dh_installcron + dh_installman + dh_installinfo +# dh_undocumented + dh_installchangelogs debian/upstream.changelog + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + + +# And now the simple things for dpatch. Here we only apply/unapply the patches. +# You can do more things with dpatch, like having patches only applied on +# a special architecture - see the non-dh version of the sample for this! +patch: patch-stamp +patch-stamp: + dpatch apply-all + dpatch cat-all >patch-stamp + touch patch-stamp + +unpatch: + dpatch deapply-all + rm -rf patch-stamp debian/patched + +binary: binary-indep binary-arch +.PHONY: binary clean binary-indep binary-arch build install patch unpatch \ + clean1 --- xxgdb-1.12.orig/debian/README.Debian +++ xxgdb-1.12/debian/README.Debian @@ -0,0 +1,28 @@ +xxgdb for DEBIAN +---------------------- + +This is a non-maintainer release, done just to fix things up a bit so +that xxgdb can be built directly from source. Also, I moved the package +over to using debhelper; this included writing my own debhelper program, +dh_installxaw, to install xaw-wrappers files. It's included in the +debian/ directory of the source distribution. + +The original maintainer hasn't actually uploaded a new package in a good +long time, so perhaps this should be considered orphaned. + +I changed the source most times it used an #ifdef SYSV so that the +code now tests for more reasonable #ifdef names - presumably someone could +finish the job and convert this over to autoconf. Among other things, +this means that a patch to the X include files is no longer necessary +to get xxgdb to build. + +If someone is looking at this later and wondering if linux architectures +really need all the -D notations, well, maybe not. The fact is that all +the -DHAVE_* constants in the Imakefile reflect reality, so I saw little +harm in defining them. Also, the -DNO_SCANDIR is necessary because, +although glibc does include scandir, it does not allow for modification +of the filenames as the xxgdb code which uses scandir would like to do. +Also, the struct dirent used in scandir does not contain the d_namlen +element, which causes that code to fail to compile. + +Daniel Martin , Sun, 24 Jan 1999 10:43:17 -0500 --- xxgdb-1.12.orig/debian/mini.debug.xpm +++ xxgdb-1.12/debian/mini.debug.xpm @@ -0,0 +1,27 @@ +/* XPM */ +static char *mini[] = { +/* width height num_colors chars_per_pixel */ +" 16 14 6 1", +/* colors */ +". c #b2b2b2", +"# c #000000", +"a c #ff0000", +"b c #cccccc", +"c c #7f7f7f", +"d c #ffffff", +/* pixels */ +"......#####.....", +"....##a...a##...", +"...##..aaa..##..", +"..##.baaaaa####.", +"..###cadaa##..#.", +".##.##daa##ac.##", +".##.a##a##aaa.##", +".#.aaa###aaaaa.#", +".##.aa####aaa.##", +".##aa##ab##aca##", +"..#.##aaba##..#.", +"..###baabaa####.", +"...##..aca..##..", +".....#######...." +}; --- xxgdb-1.12.orig/debian/control +++ xxgdb-1.12/debian/control @@ -0,0 +1,15 @@ +Source: xxgdb +Section: devel +Priority: optional +Maintainer: Joey Schulze +Standards-Version: 3.8.4 +Build-Depends: debhelper (>= 7.1), dpatch, libxaw7-dev, libx11-dev, + libxt-dev, x11proto-core-dev, xutils-dev + +Package: xxgdb +Architecture: any +Depends: ${misc:Depends}, gdb, ${shlibs:Depends} +Description: An X front-end to the GNU debugger gdb + xxgdb is a simple but powerful graphical interface to the GNU + debugger gdb. A more powerful (but slower and much bigger) interface + is available in the ddd package. --- xxgdb-1.12.orig/debian/compat +++ xxgdb-1.12/debian/compat @@ -0,0 +1 @@ +7 --- xxgdb-1.12.orig/debian/menu +++ xxgdb-1.12/debian/menu @@ -0,0 +1,2 @@ +?package(xxgdb): needs="X11" section="Applications/Programming" hints="Debuggers" \ + title="X GNU Debugger" command="xxgdb" icon="/usr/share/pixmaps/mini.debug.xpm" --- xxgdb-1.12.orig/debian/changelog +++ xxgdb-1.12/debian/changelog @@ -0,0 +1,215 @@ +xxgdb (1.12-17) unstable; urgency=low + + * Import NMU + * Remove debian/upstream.changelog, create it dynamically + * Fix broken changelog handling + * Fix NMU patch xxgdb + * Remove README.source again, the use of dpatch is evident and + dpkg-source -x works well, thus no need for this optional file + * Adjust call to update-xaw-wrappers + + -- Joey Schulze Fri, 11 Jun 2010 20:58:08 +0200 + +xxgdb (1.12-16.1) unstable; urgency=low + + [ Jari Aalto ] + * Non-maintainer upload. + - Update to packaging format "3.0 (quilt)". + * debian/changelog + - Delete obsolete Emacs variables from the end. + * debian/compat + - Update to 7. + * debian/control + - (Build-Depends): update obsolete xutils to xutils-dev + and x-dev x11proto-core-dev (important; Closes: #515425). + Update to debhelper 7.1. + - (Depends): add ${misc:Depends}. + - (Standards-Version): update to 3.8.4. + * debian/copyright + - Write full upstream URL. + * debian/patches + - Convert dpatch into quilt. + - (Number 20): Fix manual page. + * debian/preinst + - Fix Lintian command-with-path-in-maintainer-script. + * debian/README.source + - New file. + * debian/preinst + - Arrange "set -e" differently for Lintian. + * debian/rules + - (CC): Add. Export variable for xmkmf(1). + - (DH_COMPAT): remove. + - (clean1, install): update dh_clean to dh_prep. + Add dh_clean. + Fix lintian debian-rules-ignores-make-clean-error. + - (get-changelog): New target. + * debian/source/format + - New file. + * debian/upstream.changelog + - New file. See debian/rule::get-changelog. + * debian/watch + - New file. + + -- Jari Aalto Tue, 11 May 2010 10:57:37 +0300 + +xxgdb (1.12-16) unstable; urgency=low + + * Add dependency against xutils-dev, required after it was removed from + xutils (closes: Bug#485731) + + -- Joey Schulze Wed, 11 Jun 2008 10:04:34 +0200 + +xxgdb (1.12-15) unstable; urgency=low + + * Converted package to dpatch + * Clean up code to make it -Wall clean [010-gcc-wall.dpatch] + * Stop linking against libICE, libXext, libSM and libXmu since they're + not used + + -- Joey Schulze Sat, 17 May 2008 11:18:31 +0200 + +xxgdb (1.12-14) unstable; urgency=low + + * New maintainer + * Added support for GNU/kFreeBSD, thanks to Petr Salinger + [005-kfreebsd.dpatch] (closes: Bug#398569) + * nroff corrections by Nicolas François + [006-nroff-fixes.dpatch] (closes: Bug#350502) + * Spelling improvements by Florian Zumbiehl + [debian/control] (closes: Bug#300051) + * Applied patch to sort file menu by Michael Kebe + [007-sort-filemenu.dpatch] (closes: Bug#480226) + * Bump Standards-Version + * Support Unix98 ptys, patch basis by Francesco Paolo Lovergine + [008-unix98-ptys.dpatch] (closes: Bug#150046, Bug#344644) + * Move Unix socket into home directory to prevent symlink attacks + [009-iowinttypid.dpatch] + * Adjusted menu section + + -- Joey Schulze Fri, 16 May 2008 16:17:58 +0200 + +xxgdb (1.12-13.2) unstable; urgency=high + + * Non-maintainer upload. + * move pixmap out from /usr/X11R6/. Thanks to Andreas Henriksson. + Closes: #370203 + + -- Andreas Barth Tue, 12 Dec 2006 14:34:33 +0000 + +xxgdb (1.12-13.1) unstable; urgency=high + + * Non-maintainer upload. + * Split xlibs-dev build-dep (Closes: #346870). + + -- Luk Claes Fri, 20 Jan 2006 17:29:39 +0100 + +xxgdb (1.12-13) unstable; urgency=low + + * Rebuilt to remove the /usr/doc symlink + * Color table for mini.debug.xpm now uses only the standard colors + in /usr/share/pixmaps/cmap.xpm + * Standard updated. + + -- Francesco Paolo Lovergine Fri, 13 Dec 2002 14:23:51 +0100 + +xxgdb (1.12-12) unstable; urgency=high + + * New maintainer. + * Editing now works correctly in dialogWindow. Changed dialog.c in order + to have DeleteWord() and DeleteLine() working good and introduced + a new function DeleteChar(). This should be caused by the new Xaw7 + library, but there is no more an upstream to follow-up this error :( + [004-backspace.dpatch] (Closes: #130199) + + -- Francesco Paolo Lovergine Mon, 21 Jan 2002 13:55:44 +0100 + +xxgdb (1.12-11) unstable; urgency=high + + * QA upload. + * Added libxaw7-dev to Build-Depends. Removed xaw-wrappers stuff. + Closes: #119096. + * Updated maintainer address to . + * Conforms to Standards version 3.5.6. + * debian/copyright: Updated upstream URL. + + -- Matej Vela Thu, 15 Nov 2001 20:21:51 +0100 + +xxgdb (1.12-10) unstable; urgency=medium + + * Package is orphaned; maintainer set to Debian QA Group. + * Moved to debhelper 3 and current xaw-wrappers (>= 0.90). + Closes: #37114, #89700. + * Conforms to Standards version 3.5.2: + * xutils added to Build-Depends. Closes: #90252. + * Install into /usr rather than /usr/X11R6. + * debian/rules: Support the `debug' build option. + * debian/mini.debug.xpm: Install into /usr/X11R6/include/X11/pixmaps + rather than /usr/share/icons. Closes: #34950, #43563. + * debian/menu: Provide `hints="Debuggers"'. Closes: #80069. + * calldbx.c: Use x-terminal-emulator [002-x-terminal.dpatch] + * debian/copyright: Updated. + + -- Matej Vela Thu, 29 Mar 2001 17:32:18 +0200 + +xxgdb (1.12-9.4) unstable; urgency=low + + * Non-maintainer upload + * Fix dh_installxaw so that it tries to use Debian::Debhelper:Dh_Lib, + not just Dh_Lib. + * Applied patch from Sean 'Shaleh' Perry, adding Build-Depends + * Recompile for woody, which fixes the app-defaults issue (closes: + #86028) + + -- Tollef Fog Heen Sat, 17 Mar 2001 17:10:28 +0100 + +xxgdb (1.12-9.3) unstable; urgency=low + + * Adjustments for alpha architecture + + -- Daniel Martin Tue, 2 Feb 1999 08:35:19 -0600 + +xxgdb (1.12-9.2) frozen unstable; urgency=low + + * Can now be compiled from source (fixes #32206) + * Wraps xaw libraries (fixes #32207) + * Converted to debhelper + * Non-maintainer upload - this package should probably be orphaned + + -- Daniel Martin Sun, 24 Jan 1999 02:33:20 -0500 + +xxgdb (1.12-9.1) unstable; urgency=low + + * Non-maintainer release. + * Libc6 compile. + + -- Martin Mitchell Fri, 7 Nov 1997 18:49:09 +1100 + +xxgdb (1.12-9) frozen unstable; urgency=low + + * included frozen (bo) to distribution + + -- Helmut Geyer Fri, 18 Apr 1997 01:03:03 +0200 + +xxgdb (1.12-8) unstable; urgency=low + + * added support for menu + + -- Helmut Geyer Sat, 5 Apr 1997 11:48:48 +0200 + +xxgdb (1.12-7) unstable stable; urgency=low + + * fixed documentation locations (Bug #6069) + + -- Helmut Geyer Wed, 19 Feb 1997 19:02:13 +0100 + +xxgdb (1.12-6) unstable stable; urgency=low + + * fixed debian/rules + + -- Helmut Geyer Sun, 6 Oct 1996 09:17:05 +0200 + +xxgdb (1.12-5) unstable stable; urgency=LOW + + * new source format + + -- Helmut Geyer Thu, 3 Oct 1996 11:49:52 +0200 --- xxgdb-1.12.orig/debian/watch +++ xxgdb-1.12/debian/watch @@ -0,0 +1,3 @@ +version=3 +ftp://ftp.x.org/contrib/utilities/xxgdb-([\d.]+).tar.gz + --- xxgdb-1.12.orig/debian/copyright +++ xxgdb-1.12/debian/copyright @@ -0,0 +1,105 @@ +This is Debian's prepackaged version of the X11 frontend xxgdb to the GNU +debugger, gdb. + +This package was assembled by Helmut Geyer +from the sources available from: + + ftp://ftp.x.org/contrib/utilities/xxgdb-1.12.tar.gz + +/***************************************************************************** + * + * xdbx - X Window System interface to the dbx debugger + * + * Copyright 1989 The University of Texas at Austin + * Copyright 1990 Microelectronics and Computer Technology Corporation + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appear in all copies and that + * both that copyright notice and this permission notice appear in + * supporting documentation, and that the name of The University of Texas + * and Microelectronics and Computer Technology Corporation (MCC) not be + * used in advertising or publicity pertaining to distribution of + * the software without specific, written prior permission. The + * University of Texas and MCC makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * THE UNIVERSITY OF TEXAS AND MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF TEXAS OR MCC BE LIABLE FOR + * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Po Cheung + * Created: March 10, 1989 + * + ***************************************************************************** + * + * xxgdb - X Window System interface to the gdb debugger + * + * Copyright 1990,1994 Thomson Consumer Electronics, Inc. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appear in all copies and that + * both that copyright notice and this permission notice appear in + * supporting documentation, and that the name of Thomson Consumer + * Electronics (TCE) not be used in advertising or publicity pertaining + * to distribution of the software without specific, written prior + * permission. TCE makes no representations about the suitability of + * this software for any purpose. It is provided "as is" without express + * or implied warranty. + * + * TCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT + * SHALL TCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * + * Adaptation to GDB: Pierre Willard + * XXGDB Created: December, 1990 + * + ***************************************************************************** + * + * Modifications for use under System V + * + * Copyright 1990 Bull Worldwide Information Systems, Inc. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appear in all copies and that + * both that copyright notice and this permission notice appear in + * supporting documentation, and that the name of Bull Worldwide + * Information Systems not be used in advertising or publicity pertaining + * to distribution of the software without specific, written prior + * permission. Bull makes no representations about the suitability of + * this software for any purpose. It is provided "as is" without express + * or implied warranty. + * + * BULL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT + * SHALL BULL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * + * Adaptation to SYSV: James Tsillas + * March, 1991 + * + ***************************************************************************** + * + * Note that this software uses some files which are + * Copyright (C) 1985 Free Software Foundation, Inc. + * See copyright header in regex.c and regex.h. + * + *****************************************************************************/ + +The source of the Debian package is managed through CVS. It is publicly +available at or +as <:pserver:anonymous@cvs.infodrom.org/var/cvs/debian/xxgdb/>. --- xxgdb-1.12.orig/debian/patches/006-nroff-fixes.dpatch +++ xxgdb-1.12/debian/patches/006-nroff-fixes.dpatch @@ -0,0 +1,67 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 006-nroff-fixes.dpatch by Nicolas Francois +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: nroff corrections + +@DPATCH@ +diff -urNad xxgdb-1.12~/xxgdb.man xxgdb-1.12/xxgdb.man +--- xxgdb-1.12~/xxgdb.man 1996-10-02 10:59:45.000000000 +0200 ++++ xxgdb-1.12/xxgdb.man 2008-05-16 17:40:25.000000000 +0200 +@@ -1,4 +1,4 @@ +-.TH XXGDB 1.10 "November 1994" "X Version 11" ++.TH XXGDB 1 "November 1994" "X Version 11" + .SH NAME + xxgdb \- X window system interface to the gdb debugger. + .SH SYNOPSIS +@@ -34,16 +34,16 @@ + \fIXxgdb\fP accepts all of the standard X Toolkit command line options + (see \fIX\fP(1)), and all the gdb options (see \fIgdb\fP(1)), plus + the following xxgdb specific options: +-.IP -db_name debuggername ++.IP "-db_name debuggername" + Specify the name of the debugger to override the default "gdb". + WARNING : by default prompt is the name of the debugger enclosed in + parenthesis followed by a space. So if the prompt is still "(gdb) ", + you HAVE TO use -db_prompt "gdb" +-.IP -db_prompt promptstring ++.IP "-db_prompt promptstring" + Specify to xxgdb what is the debugger prompt. The default is to + expect the prompt to be the name of the debugger enclosed in + parenthesis followed by a space (eg, "(gdb) "). +-.IP -i filename ++.IP "-i filename" + Specify the filename of initial gdb command file. The default + is ".gdbinit". + .IP -nx +@@ -168,7 +168,7 @@ + Print the arguments of the selected frame. + .IP "\fBshow display\fP" + Show the names of currently displayed expressions. +- .IP "\fBlocals\fP" ++.IP "\fBlocals\fP" + Print the local variables of the selected frame. + .IP "\fBstack\fP" + Print a backtrace of the entire stack. +@@ -285,7 +285,7 @@ + .IP \fBdisplayWindow\fP + If True, the display window appears on start up. (False) + .IP \fBdelimiters\fP +-The set of delimiters for word selection. (" !%^&*()+=~|;:{},/# +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Move Unix socket into home directory to prevent symlink attacks + +@DPATCH@ +diff -urNad xxgdb-1.12~/calldbx.c xxgdb-1.12/calldbx.c +--- xxgdb-1.12~/calldbx.c 2008-05-16 17:50:07.000000000 +0200 ++++ xxgdb-1.12/calldbx.c 2008-05-16 17:50:07.000000000 +0200 +@@ -232,7 +232,12 @@ + void + create_io_window () + { +- int pid = fork(); ++ char sockname[FILENAME_MAX]; ++ int pid; ++ ++ snprintf(sockname, sizeof(sockname), "%s/%s", getenv("HOME"), "iowindowtty"); ++ ++ pid = fork(); + if (pid == -1) + { + printf("unable to fork\n"); +@@ -245,12 +250,12 @@ + + sock = socket(AF_UNIX, SOCK_DGRAM, 0); + name.sun_family = AF_UNIX; +- strcpy(name.sun_path, "/tmp/iowindowtty"); ++ strcpy(name.sun_path, sockname); + bind(sock, (struct sockaddr*)&name, sizeof(struct sockaddr_un)); + read(sock, ttypid, 40); + sscanf(ttypid, "%[a-z/0-9],%d", iowintty, &iowinpid); + close(sock); +- unlink("/tmp/iowindowtty"); ++ unlink(sockname); + } + else + { +@@ -259,7 +264,7 @@ + if (execlp("x-terminal-emulator", "x-terminal-emulator", "-e", XXGDBIOWIN, NULL)) + { + printf("exec of 'x-terminal-emulator -e %s' failed\n", XXGDBIOWIN); +- unlink("/tmp/iowindowtty"); ++ unlink(sockname); + } + } + } +diff -urNad xxgdb-1.12~/xxgdbiowin.c xxgdb-1.12/xxgdbiowin.c +--- xxgdb-1.12~/xxgdbiowin.c 2008-05-16 17:50:07.000000000 +0200 ++++ xxgdb-1.12/xxgdbiowin.c 2008-05-16 17:50:07.000000000 +0200 +@@ -24,6 +24,8 @@ + int sock; + struct sockaddr_un name; + char ttypid[40]; ++ char sockname[FILENAME_MAX]; ++ + #if 0 /* for debug only */ + { + char *myname; +@@ -43,7 +45,8 @@ + #endif + sock = socket(AF_UNIX, SOCK_DGRAM, 0); + name.sun_family = AF_UNIX; +- strcpy(name.sun_path, "/tmp/iowindowtty"); ++ snprintf(sockname, sizeof(sockname), "%s/%s", getenv("HOME"), "iowindowtty"); ++ strcpy(name.sun_path, sockname); + sendto(sock, ttypid, 40, 0, + (struct sockaddr*)&name, sizeof(struct sockaddr_un)); + close(sock); --- xxgdb-1.12.orig/debian/patches/002-x-terminal.dpatch +++ xxgdb-1.12/debian/patches/002-x-terminal.dpatch @@ -0,0 +1,22 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 002-x-terminal.dpatch by Matej Vela +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Use x-terminal-emulator + +@DPATCH@ +diff -urNad xxgdb-1.12~/calldbx.c xxgdb-1.12/calldbx.c +--- xxgdb-1.12~/calldbx.c 1996-10-02 10:59:45.000000000 +0200 ++++ xxgdb-1.12/calldbx.c 2008-05-16 17:20:34.000000000 +0200 +@@ -229,9 +229,9 @@ + { + /* child */ + /* printf("xterm xterm -l -e xxgdbiowin\n");*/ +- if (execlp("xterm", "xterm", "-e", "xxgdbiowin", 0)) ++ if (execlp("x-terminal-emulator", "x-terminal-emulator", "-e", XXGDBIOWIN, NULL)) + { +- printf("exec of 'xterm -e xxgdbiowin' fails\n"); ++ printf("exec of 'x-terminal-emulator -e %s' failed\n", XXGDBIOWIN); + unlink("/tmp/iowindowtty"); + } + } --- xxgdb-1.12.orig/debian/patches/008-unix98-ptys.dpatch +++ xxgdb-1.12/debian/patches/008-unix98-ptys.dpatch @@ -0,0 +1,83 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 008-unix98-ptys.dpatch by Francesco Paolo Lovergine and Joey Schulze +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Support Unix98 PTYs + +@DPATCH@ +diff -urNad xxgdb-1.12~/calldbx.c xxgdb-1.12/calldbx.c +--- xxgdb-1.12~/calldbx.c 1996-10-02 10:59:45.000000000 +0200 ++++ xxgdb-1.12/calldbx.c 2008-05-16 17:44:05.000000000 +0200 +@@ -85,8 +85,10 @@ + #include + #endif /* CREATE_IO_WINDOW */ + +-#ifdef SVR4 ++#if defined(SVR4) || defined(UNIX98) + #define MASTER_CLONE "/dev/ptmx" ++#endif ++#ifdef SVR4 + #include + #include + #include +@@ -125,13 +127,14 @@ + { + int master; + +-#ifdef SVR4 /* (MJH) Use STREAMS */ ++#if defined(SVR4) || defined(UNIX98) + + if((master = open(MASTER_CLONE, O_RDWR)) < 0) + perror(MASTER_CLONE); + else + return master; +-#else ++#endif ++#if !defined(SVR4) && !defined(UNIX98) + int i; + char c; + +@@ -150,7 +153,7 @@ + #ifndef sco + } + #endif +-#endif /* SVR4 */ ++#endif /* !defined(SVR4) && !defined(UNIX98) */ + + #ifdef GDB + fprintf(stderr, "xxgdb: all ptys in use\n"); +@@ -166,6 +169,25 @@ + { + int slave; + ++#if defined(UNIX98) ++ ++ int n; ++ int zero=0; ++ char ptsname[16]; ++ ++ if (ioctl(master, TIOCGPTN, &n) < 0) ++ exit(2); ++ snprintf(ptsname,sizeof(ptsname),"/dev/pts/%i", n); ++ if (ioctl(master, TIOCSPTLCK, &zero) < 0) ++ exit(3); ++ if ((slave = open(ptsname, O_RDWR)) < 0) { ++ perror(ptsname); ++ exit(4); ++ } ++ return slave; ++ ++#else ++ + #ifdef SVR4 /* (MJH) */ + char *slave_name = "unknown"; + extern char *ptsname(int master); +@@ -193,6 +215,8 @@ + } + return slave; + #endif /* SVR4 */ ++ ++#endif /* UNIX98 */ + } + + #ifdef CREATE_IO_WINDOW --- xxgdb-1.12.orig/debian/patches/00list +++ xxgdb-1.12/debian/patches/00list @@ -0,0 +1,11 @@ +001-imakefile +002-x-terminal +003-debian-patch +004-backspace +005-kfreebsd +006-nroff-fixes +007-sort-filemenu +008-unix98-ptys +009-iowinttypid +010-gcc-wall +020-xxgdb.man-fixes --- xxgdb-1.12.orig/debian/patches/007-sort-filemenu.dpatch +++ xxgdb-1.12/debian/patches/007-sort-filemenu.dpatch @@ -0,0 +1,35 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 007-sort-filemenu.dpatch by Michael Kebe +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Sort files in file menu + +@DPATCH@ +diff -urNad xxgdb-1.12~/filemenu.c xxgdb-1.12/filemenu.c +--- xxgdb-1.12~/filemenu.c 1994-08-29 21:38:28.000000000 +0200 ++++ xxgdb-1.12/filemenu.c 2008-05-16 17:41:54.000000000 +0200 +@@ -220,6 +220,15 @@ + #endif /* not SYSV */ + + ++#ifdef NO_SCANDIR ++/* Compare function for qsort() ++ */ ++int filenamecmp(const void *a, const void *b) { ++ return strcmp(*(char **)a, *(char **)b); ++} ++#endif ++ ++ + /* Scans the working directory for files selected by InList(), sorted + * alphabetically, and stored in an array of pointers to directory + * entries called namelist. +@@ -307,6 +316,8 @@ + + #ifdef SYSV + closedir(WorkingDir); ++ nfiles = i; ++ qsort(filelist, nfiles-1, sizeof(filelist[0]), filenamecmp); + #else + XtFree((XtPointer) namelist); + #endif --- xxgdb-1.12.orig/debian/patches/004-backspace.dpatch +++ xxgdb-1.12/debian/patches/004-backspace.dpatch @@ -0,0 +1,86 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 004-backspace.dpatch by Francesco Paolo Lovergine +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Properly support backspace key + +@DPATCH@ +diff -urNad xxgdb-1.12~/dialog.c xxgdb-1.12/dialog.c +--- xxgdb-1.12~/dialog.c 1995-06-20 00:15:13.000000000 +0200 ++++ xxgdb-1.12/dialog.c 2008-05-16 17:31:45.000000000 +0200 +@@ -130,8 +130,8 @@ + Cardinal i; + + textblock.firstPos = 0; +- textblock.length = 0; +- textblock.ptr = ""; ++ textblock.length = 1; ++ textblock.ptr = " "; + + pos = XawTextGetInsertionPoint(w); + if (pos <= StartPos) +@@ -142,6 +142,30 @@ + XawTextSetInsertionPoint(w, i); + } + ++/* Erases the preceding word. ++ * Simulates the action of the WERASE character (ctrl-W). ++ */ ++/* ARGSUSED */ ++void DeleteChar(w, event, params, num_params) ++ Widget w; ++ XEvent *event; ++ String *params; ++ Cardinal *num_params; ++{ ++ XawTextBlock textblock; ++ XawTextPosition pos; ++ ++ textblock.firstPos = 0; ++ textblock.length = 1; ++ textblock.ptr = " "; ++ ++ pos = XawTextGetInsertionPoint(w); ++ if (pos > StartPos) { ++ XawTextReplace(w, pos-1, pos, &textblock); ++ XawTextSetInsertionPoint(w, pos-1); ++ } ++} ++ + + /* Deletes the entire current input line. + * simulates the action of the KILL character (ctrl-U). +@@ -159,8 +183,8 @@ + char *s; + + textblock.firstPos = 0; +- textblock.length = 0; +- textblock.ptr = ""; ++ textblock.length = 1; ++ textblock.ptr = " "; + + pos = XawTextGetInsertionPoint(w); + if (w == dialogWindow) { +@@ -307,6 +331,7 @@ + {"SigQuit", (XtActionProc) SigQuit}, + {"InsertSpace", (XtActionProc) InsertSpace}, + {"Dispatch", (XtActionProc) Dispatch}, ++ {"DeleteChar", (XtActionProc) DeleteChar}, + {NULL, NULL} + }; + +@@ -316,10 +341,10 @@ + Ctrl|: SigQuit()\n\ + CtrlW: DeleteWord()\n\ + CtrlU: DeleteLine()\n\ +- CtrlH: InsertSpace() delete-previous-character()\n\ +- Delete: InsertSpace() delete-previous-character()\n\ +- BackSpace: InsertSpace() delete-previous-character()\n\ +- Return: newline() Dispatch()\n\ ++ CtrlH: DeleteChar()\n\ ++ Delete: DeleteChar()\n\ ++ BackSpace: DeleteChar()\n\ ++ Return: newline()Dispatch()\n\ + "; + + n = 0; --- xxgdb-1.12.orig/debian/patches/005-kfreebsd.dpatch +++ xxgdb-1.12/debian/patches/005-kfreebsd.dpatch @@ -0,0 +1,21 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 005-kfreebsd.dpatch by Petr Salinger +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Support GNU/kFreeBSD + +@DPATCH@ +diff -urNad xxgdb-1.12~/Imakefile xxgdb-1.12/Imakefile +--- xxgdb-1.12~/Imakefile 1996-10-02 10:59:44.000000000 +0200 ++++ xxgdb-1.12/Imakefile 2008-05-16 17:37:48.000000000 +0200 +@@ -62,6 +62,10 @@ + DEFINES = -DSYSV $(DEFGDB) + #endif + ++#if defined(KFreeBSDArchitecture) ++DEFINES = -DHAVE_SIGNAL_H -DHAVE_WAITPID -DHAVE_KILLPG -DNO_SCANDIR $(DEFGDB) -DBSD ++#endif ++ + #if defined(NeXTArchitecture) || defined(NextArchitecture) + #if OSMajorVersion == 3 + #if OSMinorVersion == 0 --- xxgdb-1.12.orig/debian/patches/020-xxgdb.man-fixes.dpatch +++ xxgdb-1.12/debian/patches/020-xxgdb.man-fixes.dpatch @@ -0,0 +1,46 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 020-xxgdb.man-fixes.dpatch by Jari Aalto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Hyphenation fixes in xxgdb.man + +@DPATCH@ + +diff --git a/xxgdb.man b/xxgdb.man +index 9ef9235..239e31c 100644 +--- a/xxgdb.man ++++ b/xxgdb.man +@@ -15,12 +15,12 @@ variables and data structures, and to browse source files and functions. + \fIXxgdb\fP allows initial gdb commands stored in the file \fI.gdbinit\fP + to be executed immediately after the symbolic information is + read. If \fI.gdbinit\fP does not exist in the current directory, the +-user's home directory is searched (\fI~/.gdbinit\fP). Option -nx +-can be used to prevent xxgdb from executing this file. Option -i ++user's home directory is searched (\fI\~/.gdbinit\fP). Option \-nx ++can be used to prevent xxgdb from executing this file. Option \-i + can be used to change the file name of command file. + .LP + \fIObjfile\fP is an object file produced by a compiler with the +-appropriate option (-g) specified to produce symbol table ++appropriate option (\-g) specified to produce symbol table + information for gdb. + .LP + If a file named \fIcore\fP exists in the current directory or a +@@ -38,7 +38,7 @@ the following xxgdb specific options: + Specify the name of the debugger to override the default "gdb". + WARNING : by default prompt is the name of the debugger enclosed in + parenthesis followed by a space. So if the prompt is still "(gdb) ", +-you HAVE TO use -db_prompt "gdb" ++you HAVE TO use \-db_prompt "gdb" + .IP "-db_prompt promptstring" + Specify to xxgdb what is the debugger prompt. The default is to + expect the prompt to be the name of the debugger enclosed in +@@ -47,7 +47,7 @@ parenthesis followed by a space (eg, "(gdb) "). + Specify the filename of initial gdb command file. The default + is ".gdbinit". + .IP -nx +-Do not execute .gdbinit file (or file specified with -i) ++Do not execute .gdbinit file (or file specified with \-i) + .IP -bigicon + Uses a 64x64 icon instead of the default 48x48 icon. + .SH SUBWINDOWS --- xxgdb-1.12.orig/debian/patches/010-gcc-wall.dpatch +++ xxgdb-1.12/debian/patches/010-gcc-wall.dpatch @@ -0,0 +1,415 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 010-gcc-wall.dpatch by Joey Schulze +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Clean up code so that it is -Wall clean + +@DPATCH@ +diff -urNad xxgdb~/calldbx.c xxgdb/calldbx.c +--- xxgdb~/calldbx.c 2008-05-17 10:05:14.000000000 +0200 ++++ xxgdb/calldbx.c 2008-05-17 10:05:14.000000000 +0200 +@@ -112,7 +112,6 @@ + static XtInputId dbxInputId; /* dbx input id */ + #ifndef SVR4 /* (MJH) */ + static char pty[11] = "/dev/pty??"; /* master side of pseudo-terminal */ +-static char tty[11] = "/dev/tty??"; /* slave side of pseudo-terminal */ + #endif /* SVR4 */ + extern char *dbxprompt; + +diff -urNad xxgdb~/calldbx.h xxgdb/calldbx.h +--- xxgdb~/calldbx.h 1970-01-01 01:00:00.000000000 +0100 ++++ xxgdb/calldbx.h 2008-05-17 10:05:14.000000000 +0200 +@@ -0,0 +1,73 @@ ++/***************************************************************************** ++ * ++ * xdbx - X Window System interface to the dbx debugger ++ * ++ * Copyright 1989 The University of Texas at Austin ++ * Copyright 1990 Microelectronics and Computer Technology Corporation ++ * ++ * Permission to use, copy, modify, and distribute this software and its ++ * documentation for any purpose and without fee is hereby granted, ++ * provided that the above copyright notice appear in all copies and that ++ * both that copyright notice and this permission notice appear in ++ * supporting documentation, and that the name of The University of Texas ++ * and Microelectronics and Computer Technology Corporation (MCC) not be ++ * used in advertising or publicity pertaining to distribution of ++ * the software without specific, written prior permission. The ++ * University of Texas and MCC makes no representations about the ++ * suitability of this software for any purpose. It is provided "as is" ++ * without express or implied warranty. ++ * ++ * THE UNIVERSITY OF TEXAS AND MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO ++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND ++ * FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF TEXAS OR MCC BE LIABLE FOR ++ * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ++ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF ++ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ * ++ * Author: Po Cheung ++ * Created: March 10, 1989 ++ * ++ ***************************************************************************** ++ * ++ * xxgdb - X Window System interface to the gdb debugger ++ * ++ * Copyright 1990,1993 Thomson Consumer Electronics, Inc. ++ * ++ * Permission to use, copy, modify, and distribute this software and its ++ * documentation for any purpose and without fee is hereby granted, ++ * provided that the above copyright notice appear in all copies and that ++ * both that copyright notice and this permission notice appear in ++ * supporting documentation, and that the name of Thomson Consumer ++ * Electronics (TCE) not be used in advertising or publicity pertaining ++ * to distribution of the software without specific, written prior ++ * permission. TCE makes no representations about the suitability of ++ * this software for any purpose. It is provided "as is" without express ++ * or implied warranty. ++ * ++ * TCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ++ * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ++ * SHALL TCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ++ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, ++ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ++ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ++ * SOFTWARE. ++ * ++ *****************************************************************************/ ++ ++/* calldbx.h ++ * ++ * Export public functions defined in calldbx.c ++ */ ++ ++#ifndef _CALLDBX_H_ ++#define _CALLDBX_H_ ++ ++#ifdef CREATE_IO_WINDOW ++ ++void create_io_window (); ++void close_io_window (); ++ ++#endif ++ ++#endif /* _CALLDBX_H_ */ +diff -urNad xxgdb~/command.c xxgdb/command.c +--- xxgdb~/command.c 2008-05-17 10:05:14.000000000 +0200 ++++ xxgdb/command.c 2008-05-17 10:05:14.000000000 +0200 +@@ -96,6 +96,7 @@ + #endif + #include + #include "global.h" ++#include "calldbx.h" + + #define REVERSE 0 + #define FORWARD 1 +@@ -195,9 +196,9 @@ + s = funcname; + while (*s == ' ') s++; /* skip leading spaces (if any) */ + if ((*s >= '0') && (*s <= '9')) +- sprintf(command, "%s *%s\n",client_data,funcname); ++ sprintf(command, "%s *%s\n",(char *)client_data,funcname); + else +- sprintf(command, "%s %s\n",client_data,funcname); ++ sprintf(command, "%s %s\n",(char *)client_data,funcname); + XFree (funcname); /* AJK */ + } + else +@@ -206,7 +207,7 @@ + { + pos = XawTextGetInsertionPoint(sourceWindow); + line = TextPositionToLine(pos); +- sprintf(command, "%s %d\n",client_data,line); ++ sprintf(command, "%s %d\n",(char *)client_data,line); + } + else + { +diff -urNad xxgdb~/dbx.c xxgdb/dbx.c +--- xxgdb~/dbx.c 2008-05-17 10:05:10.000000000 +0200 ++++ xxgdb/dbx.c 2008-05-17 10:05:14.000000000 +0200 +@@ -72,6 +72,7 @@ + * query_dbx(): Send a command to dbx and process it. + */ + #include ++#include + #include + #include "global.h" + +@@ -124,7 +125,7 @@ + */ + void debug_init() + { +- static visited = False; ++ static int visited = False; + + if (!visited) { + visited = True; +diff -urNad xxgdb~/filemenu.c xxgdb/filemenu.c +--- xxgdb~/filemenu.c 2008-05-17 10:05:14.000000000 +0200 ++++ xxgdb/filemenu.c 2008-05-17 10:05:14.000000000 +0200 +@@ -83,6 +83,7 @@ + + #ifdef NO_SCANDIR + #include ++#include + #include + #include + #include +diff -urNad xxgdb~/gdb_parser.c xxgdb/gdb_parser.c +--- xxgdb~/gdb_parser.c 2008-05-17 10:05:14.000000000 +0200 ++++ xxgdb/gdb_parser.c 2008-05-17 10:05:14.000000000 +0200 +@@ -81,6 +81,7 @@ + #include + #include + #include ++#include "calldbx.h" + + extern Boolean Prompt; /* True when gdb prompt arrives */ + +diff -urNad xxgdb~/regex.c xxgdb/regex.c +--- xxgdb~/regex.c 2008-05-17 10:05:14.000000000 +0200 ++++ xxgdb/regex.c 2008-05-17 10:05:14.000000000 +0200 +@@ -124,8 +124,6 @@ + + #ifdef sparc + #include +-#else +-#pragma alloca + #endif + #define FAILURE_STACK 20000 /* max failure stack size */ + +@@ -307,7 +305,8 @@ + pending_exact -= (-(int)c); \ + } + +-static int store_jump (), insert_jump (); ++void store_jump (); ++void insert_jump (); + + char * + re_compile_pattern (pattern, size, bufp) +@@ -690,7 +689,7 @@ + /* Store where `from' points a jump operation to jump to where `to' points. + `opcode' is the opcode to store. */ + +-static int ++void + store_jump (from, opcode, to) + char *from, *to; + char opcode; +@@ -707,7 +706,7 @@ + + If you call this function, you must zero out pending_exact. */ + +-static int ++void + insert_jump (op, from, to, current_end) + char op; + char *from, *to, *current_end; +@@ -738,7 +737,10 @@ + register char *fastmap = bufp->fastmap; + register unsigned char *p = pattern; + register unsigned char *pend = pattern + size; +- register int j, k; ++ register int j; ++#ifdef emacs ++ register int k; ++#endif + unsigned char *translate = (unsigned char *) bufp->translate; + + unsigned char *stackb[NFAILURES]; +@@ -896,6 +898,9 @@ + fastmap[j] = 1; + } + break; ++ ++ default: ++ break; + } + + /* Get here means we have successfully found the possible starting +@@ -1570,6 +1575,9 @@ + while (--mcnt); + } + break; ++ ++ default: ++ break; + } + continue; /* Successfully matched one pattern command; keep matching */ + +diff -urNad xxgdb~/signals.c xxgdb/signals.c +--- xxgdb~/signals.c 2008-05-17 10:05:14.000000000 +0200 ++++ xxgdb/signals.c 2008-05-17 10:05:14.000000000 +0200 +@@ -49,6 +49,7 @@ + */ + + #include ++#include + #include + #ifdef _POSIX_SOURCE + #include +diff -urNad xxgdb~/source.c xxgdb/source.c +--- xxgdb~/source.c 2008-05-17 10:05:10.000000000 +0200 ++++ xxgdb/source.c 2008-05-17 10:05:14.000000000 +0200 +@@ -363,7 +363,7 @@ + #endif /* EDIT_BUTTON */ + + /* fixes keybindings in source window */ +-extern PopupSearch(); ++extern void PopupSearch(); + void Search(w, event, params, num_params) + Widget w; + XEvent *event; +diff -urNad xxgdb~/windows.c xxgdb/windows.c +--- xxgdb~/windows.c 2008-05-17 10:05:10.000000000 +0200 ++++ xxgdb/windows.c 2008-05-17 10:05:14.000000000 +0200 +@@ -201,8 +201,6 @@ + Widget client_data; + XtPointer call_data; + { +- Arg args[MAXARGS]; +- Cardinal n; + Boolean ToggleState; + + XtVaGetValues(w, XtNstate, &ToggleState, NULL); +diff -urNad xxgdb~/windows.h xxgdb/windows.h +--- xxgdb~/windows.h 1970-01-01 01:00:00.000000000 +0100 ++++ xxgdb/windows.h 2008-05-17 10:08:13.000000000 +0200 +@@ -0,0 +1,70 @@ ++/***************************************************************************** ++ * ++ * xdbx - X Window System interface to the dbx debugger ++ * ++ * Copyright 1989 The University of Texas at Austin ++ * Copyright 1990 Microelectronics and Computer Technology Corporation ++ * ++ * Permission to use, copy, modify, and distribute this software and its ++ * documentation for any purpose and without fee is hereby granted, ++ * provided that the above copyright notice appear in all copies and that ++ * both that copyright notice and this permission notice appear in ++ * supporting documentation, and that the name of The University of Texas ++ * and Microelectronics and Computer Technology Corporation (MCC) not be ++ * used in advertising or publicity pertaining to distribution of ++ * the software without specific, written prior permission. The ++ * University of Texas and MCC makes no representations about the ++ * suitability of this software for any purpose. It is provided "as is" ++ * without express or implied warranty. ++ * ++ * THE UNIVERSITY OF TEXAS AND MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO ++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND ++ * FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF TEXAS OR MCC BE LIABLE FOR ++ * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ++ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF ++ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ * ++ * Author: Po Cheung ++ * Created: March 10, 1989 ++ * ++ ***************************************************************************** ++ * ++ * xxgdb - X Window System interface to the gdb debugger ++ * ++ * Copyright 1990,1993 Thomson Consumer Electronics, Inc. ++ * ++ * Permission to use, copy, modify, and distribute this software and its ++ * documentation for any purpose and without fee is hereby granted, ++ * provided that the above copyright notice appear in all copies and that ++ * both that copyright notice and this permission notice appear in ++ * supporting documentation, and that the name of Thomson Consumer ++ * Electronics (TCE) not be used in advertising or publicity pertaining ++ * to distribution of the software without specific, written prior ++ * permission. TCE makes no representations about the suitability of ++ * this software for any purpose. It is provided "as is" without express ++ * or implied warranty. ++ * ++ * TCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ++ * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ++ * SHALL TCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ++ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, ++ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ++ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ++ * SOFTWARE. ++ * ++ *****************************************************************************/ ++ ++/* windows.h ++ * ++ * Export public functions defined in windows.c ++ */ ++ ++#ifndef _WINDOWS_H_ ++#define _WINDOWS_H_ ++ ++#include ++ ++void State_Transient(Widget w, Widget client_data, XtPointer call_data); ++ ++#endif /* _WINDOWS_H_ */ +diff -urNad xxgdb~/xdbx.c xxgdb/xdbx.c +--- xxgdb~/xdbx.c 2008-05-17 10:05:14.000000000 +0200 ++++ xxgdb/xdbx.c 2008-05-17 10:05:14.000000000 +0200 +@@ -83,6 +83,7 @@ + #include "global.h" + #include "bitmaps.h" + #include "patchlevel.h" ++#include "windows.h" + + #define VERSION "2.1" + #define Offset(field) (XtOffset(XdbxResources *, field)) +@@ -458,7 +459,7 @@ + return dbxargv; + } + +-void main(argc, argv) ++int main(argc, argv) + int argc; + char **argv; + { +@@ -503,4 +504,6 @@ + #endif /* NEW_INTERFACE */ + + XtAppMainLoop(app_context); ++ ++ return 0; + } +diff -urNad xxgdb~/xxgdbiowin.c xxgdb/xxgdbiowin.c +--- xxgdb~/xxgdbiowin.c 2008-05-17 10:05:14.000000000 +0200 ++++ xxgdb/xxgdbiowin.c 2008-05-17 10:05:14.000000000 +0200 +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + + #if ( defined(SYSV) || defined(SVR4) ) && !defined(HPUX) && !defined(linux) + #define signal sigset +@@ -19,7 +20,7 @@ + { + } + +-main () ++int main () + { + int sock; + struct sockaddr_un name; +@@ -57,10 +58,17 @@ + #ifdef SVR4 + setpgid(0,0); + #else ++#ifdef linux ++ setpgrp(); ++#else + setpgrp(0,0); + #endif ++#endif + close(0); + close(1); + while (1) pause(); ++ ++ /* not reached */ ++ return 0; + } + --- xxgdb-1.12.orig/debian/patches/001-imakefile.dpatch +++ xxgdb-1.12/debian/patches/001-imakefile.dpatch @@ -0,0 +1,65 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 001-imakefile.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Debian adjustments to Imakefile + +@DPATCH@ +diff -urNad xxgdb-1.12~/Imakefile xxgdb-1.12/Imakefile +--- xxgdb-1.12~/Imakefile 1996-10-02 10:59:44.000000000 +0200 ++++ xxgdb-1.12/Imakefile 2008-05-16 17:37:24.000000000 +0200 +@@ -1,8 +1,9 @@ + + #define TARGET_IS_GDB 1 ++#define USE_IO_WINDOW 1 + + #if TARGET_IS_GDB +-DEFGDB = -DGDB -DCREATE_IO_WINDOW -g ++DEFGDB = -DGDB -DUNDISPWIN + #else + DEFGDB = + #endif +@@ -59,7 +60,7 @@ + #endif + + #ifdef LinuxArchitecture +-DEFINES = -DSYSV $(DEFGDB) ++DEFINES = -DHAVE_SIGNAL_H -DHAVE_WAITPID -DHAVE_KILLPG -DNO_SCANDIR $(DEFGDB) + #endif + + #if defined(NeXTArchitecture) || defined(NextArchitecture) +@@ -75,9 +76,17 @@ + #endif + + # Add to use new multi window format +-#DEFINES+=-DNEW_INTERFACE ++DEFINES+=-DNEW_INTERFACE + # Add to open all windows at startup +-#DEFINES+=-DOPEN_ALL_WINDOWS ++DEFINES+=-DOPEN_ALL_WINDOWS ++#if USE_IO_WINDOW ++ ++ SRCS1 = xxgdbiowin.c ++ OBJS1 = xxgdbiowin.o ++ ++DEFINES+=-DCREATE_IO_WINDOW -DXXGDBIOWIN=\"$(LIBDIR)/xxgdb/xxgdbiowin\" ++ ++#endif + + mallocc = #malloc.c + malloco = #malloc.o +@@ -97,6 +106,14 @@ + + ComplexProgramTarget(xxgdb) + ++#if USE_IO_WINDOW ++AllTarget(xxgdbiowin) ++ ++NormalProgramTarget(xxgdbiowin,$(OBJS1),NullParameter,NullParameter,NullParameter) ++ ++InstallProgram(xxgdbiowin,$(LIBDIR)/xxgdb) ++#endif ++ + #else + + ComplexProgramTarget(xdbx) --- xxgdb-1.12.orig/debian/patches/003-debian-patch.dpatch +++ xxgdb-1.12/debian/patches/003-debian-patch.dpatch @@ -0,0 +1,610 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 003-debian-patch.dpatch by misc maintainers +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Misc Debian related patch up to 1.12-13 + +@DPATCH@ +diff -urNad xxgdb-1.12~/XDbx.OLD_INTERFACE xxgdb-1.12/XDbx.OLD_INTERFACE +--- xxgdb-1.12~/XDbx.OLD_INTERFACE 1970-01-01 01:00:00.000000000 +0100 ++++ xxgdb-1.12/XDbx.OLD_INTERFACE 2008-05-16 17:39:25.000000000 +0200 +@@ -0,0 +1,62 @@ ++! ++! Xdbx 2.1 Application defaults file ++! ++ ++*background: snow1 ++*foreground: black ++*fileWindow*background: snow2 ++*messageWindow.background: snow2 ++*commandWindow.background: snow2 ++*Scrollbar.foreground: black ++ ++*allowShellResize: True ++*borderWidth: 1 ++*font: fixed ++*vpane.width: 550 ++*fileWindow*font: variable ++*fileLabel.width: 500 ++*lineLabel.width: 50 ++*sourceForm.preferredPaneSize: 320 ++*sourceWindow.leftMargin: 35 ++*sourceWindow.scrollHorizontal: whenNeeded ++*sourceWindow.translations: #override \n\ ++ : SelectStart() SelectWord() \n\ ++ Shift: Update(warp) SelectEnd() PrintSelection() \n\ ++ : Update(warp) SelectEnd() \n\ ++ Down: next-line() Update()\n\ ++ Up: previous-line() Update() \n\ ++ CtrlL: redraw-display() Update() \n\ ++ CtrlN: next-line() Update() \n\ ++ CtrlP: previous-line() Update() \n\ ++ CtrlV: next-page() Update() \n\ ++ CtrlZ: scroll-one-line-up() Update() \n\ ++ MetaV: previous-page() Update() \n\ ++ MetaZ: scroll-one-line-down() Update() \n\ ++ :Meta\>: end-of-file() Update() \n\ ++ :Meta]: forward-paragraph() Update() \n\ ++ :Meta[: backward-paragraph() Update() ++*messageWindow*font: variable ++*messageWindow.min: 30 ++*messageWindow.max: 30 ++*dialogWindow.preferredPaneSize: 200 ++*dialogWindow.resizeToPreferred: True ++*dialogWindow.translations: #override \n\ ++ : SelectStart() SelectWord() \n\ ++ Shift: SelectEnd() PrintSelection() \n\ ++ : SelectEnd() \n ++*commandWindow.preferredPaneSize: 135 ++*commandWindow.skipAdjust: True ++!*commandWindow.hSpace: 14 ++!*commandWindow.vSpace: 10 ++!*Command.height: 20 ++!*Command.width: 60 ++*List.columnSpacing: 10 ++*displayWindow.preferredPaneSize: 50 ++*displayWindow.skipAdjust: True ++*displayWindow.scrollVertical: whenNeeded ++*displayWindow.scrollHorizontal: whenNeeded ++*displayWindow.translations: #override \n\ ++ : SelectStart() SelectWord() \n\ ++ Shift: SelectEnd() PrintSelection() \n\ ++ : SelectEnd() \n ++*popup*showGrip: False +diff -urNad xxgdb-1.12~/XDbx.ad xxgdb-1.12/XDbx.ad +--- xxgdb-1.12~/XDbx.ad 1996-10-02 10:59:44.000000000 +0200 ++++ xxgdb-1.12/XDbx.ad 2008-05-16 17:39:25.000000000 +0200 +@@ -1,6 +1,6 @@ + ! +-! Xdbx 2.1 Application defaults file +-! ++! XXgdb 1.08 Application defaults file with NEW_INTERFACE ++! (derived from Xdbx 2.1 app-defaults) + + *background: snow1 + *foreground: black +@@ -9,15 +9,23 @@ + *commandWindow.background: snow2 + *Scrollbar.foreground: black + +-*allowShellResize: True ++XDbx.geometry: +0+0 ++*allowShellResize: True + *borderWidth: 1 +-*font: fixed +-*vpane.width: 550 ++*font: fixed ++*vpane.width: 550 + *fileWindow*font: variable + *fileLabel.width: 500 + *lineLabel.width: 50 +-*sourceForm.preferredPaneSize: 320 +-*sourceWindow.leftMargin: 35 ++*sourceShell.geometry: 550x260+0+380 ++*sourceForm.top: ChainTop ++*sourceForm.bottom: ChainBottom ++*sourceForm.left: ChainLeft ++*sourceForm.right: ChainRight ++*sourceForm.fromVert: fileWindow ++*sourceWindow.width: 558 ++*sourceWindow.height: 220 ++*sourceWindow.leftMargin: 35 + *sourceWindow.scrollHorizontal: whenNeeded + *sourceWindow.translations: #override \n\ + : SelectStart() SelectWord() \n\ +@@ -38,25 +46,30 @@ + *messageWindow*font: variable + *messageWindow.min: 30 + *messageWindow.max: 30 +-*dialogWindow.preferredPaneSize: 200 ++*dialogWindow.preferredPaneSize: 240 + *dialogWindow.resizeToPreferred: True + *dialogWindow.translations: #override \n\ + : SelectStart() SelectWord() \n\ + Shift: SelectEnd() PrintSelection() \n\ + : SelectEnd() \n +-*commandWindow.preferredPaneSize: 135 +-*commandWindow.skipAdjust: True +-!*commandWindow.hSpace: 14 +-!*commandWindow.vSpace: 10 +-!*Command.height: 20 +-!*Command.width: 60 +-*List.columnSpacing: 10 +-*displayWindow.preferredPaneSize: 50 +-*displayWindow.skipAdjust: True ++*commandShell.geometry: 180x394+590+0 ++*commandWindow.hSpace: 6 ++*commandWindow.vSpace: 6 ++*Command.height: 20 ++*Command.width: 78 ++*List.columnSpacing: 10 ++*displayShell.geometry: +590+450 ++*displayWindow.top: ChainTop ++*displayWindow.bottom: ChainBottom ++*displayWindow.left: ChainLeft ++*displayWindow.right: ChainRight ++*displayWindow.width: 300 ++*displayWindow.height: 100 + *displayWindow.scrollVertical: whenNeeded + *displayWindow.scrollHorizontal: whenNeeded + *displayWindow.translations: #override \n\ + : SelectStart() SelectWord() \n\ + Shift: SelectEnd() PrintSelection() \n\ + : SelectEnd() \n +-*popup*showGrip: False ++*popup*showGrip: False ++*bindings: emacs +diff -urNad xxgdb-1.12~/calldbx.c xxgdb-1.12/calldbx.c +--- xxgdb-1.12~/calldbx.c 2008-05-16 17:39:25.000000000 +0200 ++++ xxgdb-1.12/calldbx.c 2008-05-16 17:39:25.000000000 +0200 +@@ -73,7 +73,7 @@ + #include + #include + #include +-#include "global.h" ++#include + #if !(defined(OLDSUNOS) || defined(BSD)) + #include + #else +@@ -81,16 +81,18 @@ + #endif + + #ifdef CREATE_IO_WINDOW ++#include + #include + #include + #endif /* CREATE_IO_WINDOW */ + ++#include "global.h" ++ + #ifdef SVR4 + #define MASTER_CLONE "/dev/ptmx" + #include + #include + #include +-#include + #endif /* SVR4 */ + + #if (defined(BSD) && (BSD < 44)) || defined(ultrix) +@@ -114,6 +116,7 @@ + + #ifdef CREATE_IO_WINDOW + char iowintty[] = "/dev/ttyp0"; ++char savetty[] = "/dev/tty??"; + int iowinpid = 0; + #endif /* CREATE_IO_WINDOW */ + /* +@@ -143,7 +146,7 @@ + for (i=0; i<8; i++) { + #endif + pty[8] = c; +- pty[9] = "0123456789abcdef"[i]; ++ pty[9] = "0123456789abcdef"[i]; + if ((master = open(pty, O_RDWR)) >= 0) + return (master); + } +@@ -236,6 +239,20 @@ + } + } + } ++ ++void ++close_io_window() ++{ ++ static char ttycommand[50]; ++ ++ kill (iowinpid, SIGTERM); ++ iowinpid = 0; ++ iowintty[8] = pty[8]; ++ iowintty[9] = pty[9]; ++ sprintf(ttycommand, "tty %s\n", iowintty); ++ query_gdb (ttycommand, PARSE_OFF | ECHO_OFF | FILTER_OFF); ++} ++ + #endif /* CREATE_IO_WINDOW */ + + /* ARGSUSED */ +diff -urNad xxgdb-1.12~/command.c xxgdb-1.12/command.c +--- xxgdb-1.12~/command.c 1996-10-02 10:59:45.000000000 +0200 ++++ xxgdb-1.12/command.c 2008-05-16 17:39:25.000000000 +0200 +@@ -138,6 +138,18 @@ + AppendDialogText(command); + } + ++void toggle_io_window( w, client_data, call_data ) ++ Widget w; ++ XtPointer client_data; ++ XtPointer call_data; ++{ ++ if (client_data == (XtPointer)1) { ++ xxgdb_command("iowin\n", FALSE); ++ } else { ++ if(iowinpid) close_io_window(); ++ } ++} ++ + #if !defined(GDB) && defined(BSD) /* >>>>>>>>>> NOT USED FOR GDB <<<<<<<<<<<<<<< */ + + /* ARGSUSED */ +@@ -383,24 +395,25 @@ + XtPointer client_data; + XtPointer call_data; + { +-#ifdef SYSV ++#ifdef HAVE_WAITPID + int status; + #else + union wait status; +-#endif /* SYSV */ ++#endif /* HAVE_WAITPID */ + ++ if (iowinpid) close_io_window(); + write_dbx("quit\n"); + XtDestroyApplicationContext(app_context); + kill(dbxpid, SIGKILL); +-#ifdef SYSV ++#ifdef HAVE_WAITPID + #if 1 /* instead of ifdef SVR4 */ + status = waitpid(dbxpid, (int *)0, WNOHANG); /* (MJH) */ + #else + waitpid(&status, NULL, WNOHANG); + #endif /* SVR4 */ +-#else /* not SYSV */ ++#else /* not HAVE_WAITPID */ + wait3(&status, WNOHANG, NULL); +-#endif /* SYSV */ ++#endif /* HAVE_WAITPID */ + exit(0); + } + +@@ -829,6 +842,10 @@ + button[i++] = AddButton (parent, "yes", DoIt, "y\n"); /* AJK */ + button[i++] = AddButton (parent, "no", DoIt, "n\n"); /* AJK */ + button[i++] = AddButton (parent, "quit", Quit, NULL); ++#ifdef CREATE_IO_WINDOW ++ button[i++] = AddButton (parent, "I/O Win", toggle_io_window, (XtPointer)1 ); ++ button[i++] = AddButton (parent, "no I/O Win", toggle_io_window, (XtPointer)0 ); ++#endif + #else /* >>>>>>>>>> IF NOT GDB <<<<<<<<<<<<<<< */ + + +diff -urNad xxgdb-1.12~/defs.h xxgdb-1.12/defs.h +--- xxgdb-1.12~/defs.h 1994-12-03 02:33:33.000000000 +0100 ++++ xxgdb-1.12/defs.h 2008-05-16 17:39:25.000000000 +0200 +@@ -144,6 +144,10 @@ + #define SECLASTCH(s) (s[strlen(s)-2]) + + #ifdef SUNOS4 ++#define USE_DIRENT ++#endif ++ ++#ifdef USE_DIRENT + typedef struct dirent Directory; + #else + typedef struct direct Directory; +diff -urNad xxgdb-1.12~/dialog.c xxgdb-1.12/dialog.c +--- xxgdb-1.12~/dialog.c 1995-06-20 00:15:13.000000000 +0200 ++++ xxgdb-1.12/dialog.c 2008-05-16 17:39:25.000000000 +0200 +@@ -235,11 +235,11 @@ + { + #ifndef GDB + FalseSignal = TRUE; +-#ifdef SYSV /* (PW)13AUG92: change SVR4 into SYSV */ /* (MJH) */ ++#ifndef HAVE_KILLPG + kill(-(dbxpid), SIGINT); + #else + killpg(dbxpid, SIGINT); +-#endif /* SYSV */ ++#endif /* HAVE_KILLPG */ + #else + write_dbx("\003"); /* (PW)18FEB91 : seems to work better */ + #endif /* GDB */ +@@ -282,11 +282,11 @@ + { + FalseSignal = TRUE; + +-#ifdef SYSV /* (PW)13AUG92: change SVR4 into SYSV */ /* (MJH) */ ++#ifndef HAVE_KILLPG + kill(-(dbxpid), SIGQUIT); + #else + killpg(dbxpid, SIGQUIT); +-#endif /* SYSV */ ++#endif /* HAVE_KILLPG */ + } + + +diff -urNad xxgdb-1.12~/filemenu.c xxgdb-1.12/filemenu.c +--- xxgdb-1.12~/filemenu.c 1994-08-29 21:38:28.000000000 +0200 ++++ xxgdb-1.12/filemenu.c 2008-05-16 17:39:25.000000000 +0200 +@@ -81,7 +81,7 @@ + #include + #include + +-#ifdef SYSV ++#ifdef NO_SCANDIR + #include + #include + #include +@@ -94,13 +94,13 @@ + #define S_IEXEC 00100 /* execute/search permission, owner */ + #endif + #endif /* _POSIX_SOURCE */ +-#else /* SYSV */ ++#else /* NO_SCANDIR */ + #ifdef SUNOS4 + #include + #else + #include + #endif +-#endif /* SYSV */ ++#endif /* NO_SCANDIR */ + #include "global.h" + + #define MAXCOLUMNS 8 /* max number of columns in file menu */ +@@ -185,7 +185,7 @@ + * text files + * executable files + */ +-#ifndef SYSV ++#ifndef NO_SCANDIR + static int InList(entry) + Directory *entry; + { +@@ -217,7 +217,7 @@ + } + return True; + } +-#endif /* not SYSV */ ++#endif /* not NO_SCANDIR */ + + + /* Scans the working directory for files selected by InList(), sorted +@@ -228,7 +228,7 @@ + static void ScanDir(dir) + char *dir; + { +-#ifndef SYSV ++#ifndef NO_SCANDIR + extern alphasort(); + Directory **namelist; + #else +@@ -238,7 +238,7 @@ + #endif + register int i,j; + +-#ifdef SYSV ++#ifdef NO_SCANDIR + if(!(WorkingDir = opendir(dir))) + { + UpdateMessageWindow("scandir: cannot open %s", dir); +@@ -262,7 +262,7 @@ + filelist = (char **) XtMalloc((nfiles+1) * sizeof(char *)); + i = 0; + for (j=0; jd_name, ".")) + strcpy(store, "./"); +@@ -298,14 +298,14 @@ + } + if(store[0]) + filelist[i++] = XtNewString(store); +-#else /* not SYSV */ ++#else /* not NO_SCANDIR */ + filelist[i++] = XtNewString(namelist[j]->d_name); + XtFree((XtPointer) namelist[j]); + #endif + } + filelist[i++] = NULL; + +-#ifdef SYSV ++#ifdef NO_SCANDIR + closedir(WorkingDir); + #else + XtFree((XtPointer) namelist); +diff -urNad xxgdb-1.12~/gdb_handler.c xxgdb-1.12/gdb_handler.c +--- xxgdb-1.12~/gdb_handler.c 1995-04-19 18:46:22.000000000 +0200 ++++ xxgdb-1.12/gdb_handler.c 2008-05-16 17:39:25.000000000 +0200 +@@ -85,7 +85,7 @@ + * query_gdb(): Send command to gdb. + */ + +-#ifdef SYSV ++#ifdef HAVE_SIGNAL_H + # include + #endif + +diff -urNad xxgdb-1.12~/gdb_parser.c xxgdb-1.12/gdb_parser.c +--- xxgdb-1.12~/gdb_parser.c 1996-10-02 10:59:45.000000000 +0200 ++++ xxgdb-1.12/gdb_parser.c 2008-05-16 17:39:25.000000000 +0200 +@@ -1355,7 +1355,8 @@ + int echo; + { + #ifdef CREATE_IO_WINDOW +- if (command && (!strcmp(command,"iowin\n"))) /* test for 'iowin' command */ ++ if (command) { ++ if(!strcmp(command,"iowin\n")) /* test for 'iowin' command */ + { + if (echo) + AppendDialogText(command); +@@ -1368,7 +1369,12 @@ + } + return TRUE; + } ++ if(!strcmp(command,"noiowin\n")) { ++ if (iowinpid) close_io_window (); ++ return TRUE; ++ } + #endif /* CREATE_IO_WINDOW */ ++ } + + return FALSE; + } +diff -urNad xxgdb-1.12~/global.h xxgdb-1.12/global.h +--- xxgdb-1.12~/global.h 1996-01-20 18:05:11.000000000 +0100 ++++ xxgdb-1.12/global.h 2008-05-16 17:39:25.000000000 +0200 +@@ -76,14 +76,23 @@ + #endif + #endif + +-#if defined(SYSV) && !defined(MAX) ++#if !defined(MAX) + #define MAX(a,b) ((a)>(b)?(a):(b)) + #define MIN(a,b) ((a)>(b)?(b):(a)) ++#endif ++#ifdef SYSV + #ifdef sco + #include + #endif + #endif + ++/* Old SYSV dependencies */ ++#ifdef SYSV ++#define NO_SCANDIR ++#undef HAVE_KILLPG ++#define HAVE_WAITPID ++#define HAVE_SIGNAL_H ++#endif + /* calldbx.c */ + + extern void calldbx(); /* fork child, exec dbx */ +diff -urNad xxgdb-1.12~/regex.c xxgdb-1.12/regex.c +--- xxgdb-1.12~/regex.c 1996-10-02 10:59:45.000000000 +0200 ++++ xxgdb-1.12/regex.c 2008-05-16 17:39:25.000000000 +0200 +@@ -1774,7 +1774,7 @@ + { + puts (string); + #ifdef CREATE_IO_WINDOW +- if (iowinpid) kill(iowinpid, SIGKILL); ++ if (iowinpid) kill(iowinpid, SIGTERM); + iowinpid = 0; + #endif /* CREATE_IO_WINDOW */ + exit (1); +diff -urNad xxgdb-1.12~/signals.c xxgdb-1.12/signals.c +--- xxgdb-1.12~/signals.c 1996-10-02 10:59:45.000000000 +0200 ++++ xxgdb-1.12/signals.c 2008-05-16 17:39:25.000000000 +0200 +@@ -80,7 +80,7 @@ + case SIGTERM : fprintf(stderr, "Soft kill\n"); break; + } + #ifdef CREATE_IO_WINDOW +- if (iowinpid) kill(iowinpid, SIGKILL); ++ if (iowinpid) kill(iowinpid, SIGTERM); + iowinpid = 0; + sleep(10); + #endif /* CREATE_IO_WINDOW */ +@@ -92,17 +92,17 @@ + + static void quit_handler(int sig) + { +- int pid; +-#ifdef SYSV ++ pid_t pid; ++#ifdef HAVE_WAITPID + int status; + #else + union wait status; +-#endif /* SYSV */ ++#endif /* HAVE_WAITPID */ + + /* wait for the child to report its status; if the child has died, + * exit gracefully. + */ +-#ifdef SYSV ++#ifdef HAVE_WAITPID + #if 1 /* instead of ifdef SVR4 */ + pid = waitpid((pid_t)0, &status, WNOHANG|WUNTRACED); /* (MJH) */ + #else +@@ -110,7 +110,7 @@ + #endif /* SVR4 */ + #else + pid = wait3(&status, WNOHANG|WUNTRACED, NULL); +-#endif /* SYSV */ ++#endif /* HAVE_WAITPID */ + + #ifdef EDIT_BUTTON + /* dont die if sub edit process dies */ +@@ -123,7 +123,7 @@ + { + #ifdef CREATE_IO_WINDOW + if (iowinpid) +- kill(iowinpid, SIGKILL); ++ kill(iowinpid, SIGTERM); + iowinpid = 0; + #endif /* CREATE_IO_WINDOW */ + if (debug) { +diff -urNad xxgdb-1.12~/xdbx.c xxgdb-1.12/xdbx.c +--- xxgdb-1.12~/xdbx.c 1995-04-21 04:37:31.000000000 +0200 ++++ xxgdb-1.12/xdbx.c 2008-05-16 17:39:25.000000000 +0200 +@@ -74,7 +74,7 @@ + #define XGDBVERSION "1.12" + #endif + +-#ifdef SYSV ++#if defined(SYSV) || defined(linux) + # include + # include + # include +diff -urNad xxgdb-1.12~/xxgdb.man xxgdb-1.12/xxgdb.man +--- xxgdb-1.12~/xxgdb.man 1996-10-02 10:59:45.000000000 +0200 ++++ xxgdb-1.12/xxgdb.man 2008-05-16 17:39:25.000000000 +0200 +@@ -100,12 +100,15 @@ + scrollbar. Dragging the MIDDLE mouse button down moves the thumb along + and changes the text displayed. + +-.SH IOWIN COMMAND ++.SH IOWIN and NOIOWIN COMMAND + If compiled, with the right option, xxgdb can use a separate io window + to talk to gdb, so program output is not confused with gdb output. + Type command 'iowin' in Dialogue Window to create io window. If you + get 'Undefined command' error message, then xxgdb was not compiled for + that feature. The program xxgdbiowin is used for this io window. ++.LP ++If xxgdb was compiled with iowin support, typing 'noiowin' will close ++the io window and reset the controlling terminal of the debugger. + + .SH COMMAND BUTTONS + .SS "Execution Commands" +@@ -198,6 +201,10 @@ + Send 'n' (no) to gdb. To be used when gdb requires a yes/no response. + .IP "\fBquit\fP" + Exit \fIxxgdb\fP. ++.IP "\fBI/O Win\fP" ++Create io window. ++.IP "\fBNo I/O Win\fP" ++Delete io window. + + .LP + .SS "Displaying C Data Structures +diff -urNad xxgdb-1.12~/xxgdbiowin.c xxgdb-1.12/xxgdbiowin.c +--- xxgdb-1.12~/xxgdbiowin.c 1996-10-02 10:59:45.000000000 +0200 ++++ xxgdb-1.12/xxgdbiowin.c 2008-05-16 17:39:25.000000000 +0200 +@@ -9,7 +9,7 @@ + #include + #include + +-#if ( defined(SYSV) || defined(SVR4) ) && !defined(HPUX) ++#if ( defined(SYSV) || defined(SVR4) ) && !defined(HPUX) && !defined(linux) + #define signal sigset + #endif + --- xxgdb-1.12.orig/debian/source/format +++ xxgdb-1.12/debian/source/format @@ -0,0 +1 @@ +1.0