diff -Nwru crash-3.3-1.1/debian/196710.patch crash-3.3-1.2/debian/196710.patch
--- crash-3.3-1.1/debian/196710.patch	1970-01-01 01:00:00.000000000 +0100
+++ crash-3.3-1.2/debian/196710.patch	2003-10-26 18:17:59.000000000 +0100
@@ -0,0 +1,125 @@
+diff -wru gdb-5.1/sim/ppc/gen-idecode.c gdb-5.1-he/sim/ppc/gen-idecode.c
+--- gdb-5.1/sim/ppc/gen-idecode.c	1999-04-16 01:35:09.000000000 +0000
++++ gdb-5.1-he/sim/ppc/gen-idecode.c	2003-10-02 14:46:24.000000000 +0000
+@@ -757,21 +757,21 @@
+ 
+   if (!generate_smp) {
+ 
+-    lf_putstr(file, "
+-/* CASE 1: NO SMP (with or with out instruction cache).
+-
+-   In this case, we can take advantage of the fact that the current
+-   instruction address does not need to be returned to the cpu object
+-   after every execution of an instruction.  Instead it only needs to
+-   be saved when either A. the main loop exits or B. A cpu-halt or
+-   cpu-restart call forces the loop to be re-enered.  The later
+-   functions always save the current cpu instruction address.
+-
+-   Two subcases also exist that with and that without an instruction
+-   cache.
+-
+-   An additional complexity is the need to ensure that a 1:1 ratio
+-   is maintained between the execution of an instruction and the
++    lf_putstr(file, "\n\
++/* CASE 1: NO SMP (with or with out instruction cache).\n\
++\n\
++   In this case, we can take advantage of the fact that the current\n\
++   instruction address does not need to be returned to the cpu object\n\
++   after every execution of an instruction.  Instead it only needs to\n\
++   be saved when either A. the main loop exits or B. A cpu-halt or\n\
++   cpu-restart call forces the loop to be re-enered.  The later\n\
++   functions always save the current cpu instruction address.\n\
++\n\
++   Two subcases also exist that with and that without an instruction\n\
++   cache.\n\
++\n\
++   An additional complexity is the need to ensure that a 1:1 ratio\n\
++   is maintained between the execution of an instruction and the\n\
+    incrementing of the simulation clock */");
+ 
+     lf_putstr(file, "\n");
+@@ -867,12 +867,12 @@
+     
+   if (generate_smp) {
+ 
+-    lf_putstr(file, "
+-/* CASE 2: SMP (With or without ICACHE)
+-
+-   The complexity here comes from needing to correctly restart the
+-   system when it is aborted.  In particular if cpu0 requests a
+-   restart, the next cpu is still cpu1.  Cpu0 being restarted after
++    lf_putstr(file, "\n\
++/* CASE 2: SMP (With or without ICACHE)\n\
++\n\
++   The complexity here comes from needing to correctly restart the\n\
++   system when it is aborted.  In particular if cpu0 requests a\n\
++   restart, the next cpu is still cpu1.  Cpu0 being restarted after\n\
+    all the other CPU's and the event queue have been processed */");
+ 
+     lf_putstr(file, "\n");
+diff -wru gdb-5.1/sim/ppc/gen-model.c gdb-5.1-he/sim/ppc/gen-model.c
+--- gdb-5.1/sim/ppc/gen-model.c	1999-04-16 01:35:09.000000000 +0000
++++ gdb-5.1-he/sim/ppc/gen-model.c	2003-10-02 15:35:36.000000000 +0000
+@@ -377,7 +377,7 @@
+     lf_printf(file, "    }\n");
+     lf_printf(file, "  }\n");
+     lf_printf(file, "\n");
+-    lf_printf(file, "  error(\"Unknown model '%%s', Models which are known are:%%s\n\",\n");
++    lf_printf(file, "  error(\"Unknown model '%%s', Models which are known are:%%s\\n\",\n");
+     lf_printf(file, "        name,\n");
+     lf_printf(file, "        \"");
+     for(model_ptr = models; model_ptr; model_ptr = model_ptr->next) {
+diff -wru gdb-5.1/sim/ppc/lf.c gdb-5.1-he/sim/ppc/lf.c
+--- gdb-5.1/sim/ppc/lf.c	1999-04-16 01:35:11.000000000 +0000
++++ gdb-5.1-he/sim/ppc/lf.c	2003-10-02 14:46:24.000000000 +0000
+@@ -273,28 +272,28 @@
+   switch (file->type) {
+   case lf_is_c:
+   case lf_is_h:
+-    nr += lf_printf(file, "\
+-/*  This file is part of the program psim.
+-
+-    Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au>
+-
+-    This program is free software; you can redistribute it and/or modify
+-    it under the terms of the GNU General Public License as published by
+-    the Free Software Foundation; either version 2 of the License, or
+-    (at your option) any later version.
+-
+-    This program is distributed in the hope that it will be useful,
+-    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-    GNU General Public License for more details.
+- 
+-    You should have received a copy of the GNU General Public License
+-    along with this program; if not, write to the Free Software
+-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- 
+-    --
+-
+-    This file was generated by the program %s */
++    nr += lf_printf(file, "\n\
++/*  This file is part of the program psim.\n\
++\n\
++    Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au>\n\
++\n\
++    This program is free software; you can redistribute it and/or modify\n\
++    it under the terms of the GNU General Public License as published by\n\
++    the Free Software Foundation; either version 2 of the License, or\n\
++    (at your option) any later version.\n\
++\n\
++    This program is distributed in the hope that it will be useful,\n\
++    but WITHOUT ANY WARRANTY; without even the implied warranty of\n\
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n\
++    GNU General Public License for more details.\n\
++ \n\
++    You should have received a copy of the GNU General Public License\n\
++    along with this program; if not, write to the Free Software\n\
++    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n\
++ \n\
++    --\n\
++\n\
++    This file was generated by the program %s */\n\
+ ", filter_filename(file->program));
+     break;
+   default:
diff -Nwru crash-3.3-1.1/debian/changelog crash-3.3-1.2/debian/changelog
--- crash-3.3-1.1/debian/changelog	2003-10-26 18:17:25.000000000 +0100
+++ crash-3.3-1.2/debian/changelog	2003-10-26 18:17:59.000000000 +0100
@@ -1,3 +1,11 @@
+crash (3.3-1.2) unstable; urgency=low
+
+  * Non-maintainer upload
+  * Fixed build problems with gcc-3.3 (multiline strings). (Closes: #196710)
+  * debian/copyright: Fixed upstream URI. (Closes: #197985)
+
+ -- Marc Brockschmidt <marc@dch-faq.de>  Sun, 26 Oct 2003 13:31:57 +0100
+
 crash (3.3-1.1) unstable; urgency=low
 
   * NMU (RC bug almost 4 months old).
diff -Nwru crash-3.3-1.1/debian/copyright crash-3.3-1.2/debian/copyright
--- crash-3.3-1.1/debian/copyright	2003-10-26 18:17:25.000000000 +0100
+++ crash-3.3-1.2/debian/copyright	2003-10-26 18:17:59.000000000 +0100
@@ -1,7 +1,7 @@
 This package was debianized by Josh Huber <huber@mclx.com> on
 Tue, 10 Oct 2000 18:00:20 -0400.
 
-It was downloaded from http://www.mclx.com/downloads/
+It was downloaded from http://people.redhat.com/~anderson/
 
 Upstream Author: Dave Anderson <anderson@mclx.com>
 
diff -Nwru crash-3.3-1.1/debian/rules crash-3.3-1.2/debian/rules
--- crash-3.3-1.1/debian/rules	2003-10-26 18:17:25.000000000 +0100
+++ crash-3.3-1.2/debian/rules	2003-10-26 18:17:59.000000000 +0100
@@ -19,6 +19,12 @@
 build-stamp:
 	dh_testdir
 
+	#Patch the wretched thing:
+	$(MAKE) target
+	$(CURDIR)/mktarget -b
+	$(MAKE) gdb_unzip
+	patch -d $(CURDIR)/gdb-5.1 -p1 < $(CURDIR)/debian/196710.patch
+
 	# Add here commands to compile the package.
 	$(MAKE)
 
@@ -31,8 +37,10 @@
 
 	# Add here commands to clean up after the build process.
 	-(cd gdb-5.1 && $(MAKE) distclean)
+	if [ -f gdb.files ]; then tar -tz --exclude-from gdb.files -f gdb-5.1.tar.gz | xargs rm -f; fi
+	find gdb-5.1 -type d -exec 'rmdir {}' \;
 	-$(MAKE) clean
-	rm -f ./mktarget
+	rm -f ./mktarget gdb.files build_data.c
 
 	dh_clean
 
