-diff -Nur binutils-2.13.90.0.18.orig/gas/Makefile.am binutils-2.13.90.0.18/gas/Makefile.am
---- binutils-2.13.90.0.18.orig/gas/Makefile.am Sun Feb 2 03:21:17 2003
-+++ binutils-2.13.90.0.18/gas/Makefile.am Sun Feb 2 12:25:10 2003
-@@ -197,7 +197,7 @@
+--- binutils-2.17.50.0.3/gas/Makefile.am.orig 2006-07-15 20:23:50.000000000 +0200
++++ binutils-2.17.50.0.3/gas/Makefile.am 2006-07-17 10:44:29.524440000 +0200
+@@ -192,7 +192,7 @@
symbols.c \
write.c
HFILES = \
as.h \
-@@ -452,7 +452,8 @@
+@@ -441,7 +441,8 @@
# Note: GASP is now deprecated and has been removed. It is still
# available in the CVS archive or older binutils releases if it is needed.
noinst_SCRIPTS = $(GDBINIT)
EXTRA_SCRIPTS = .gdbinit
-@@ -515,6 +516,10 @@
+@@ -498,6 +499,10 @@
as.h asintl.h bignum.h bit_fix.h config.h emul.h expr.h flonum.h \
frags.h hash.h listing.h obj.h read.h symbols.h tc.h write.h
+gasp_new_LDADD = ../libiberty/libiberty.a $(INTLLIBS)
+gasp_new_DEPENDENCIES = ../libiberty/libiberty.a $(INTLDEPS)
+
- EXPECT = `if [ -f $${rootme}/../expect/expect ] ; then \
- echo $${rootme}/../expect/expect ; \
- else echo expect ; fi`
-@@ -2416,6 +2421,8 @@
- $(INCDIR)/obstack.h subsegs.h struc-symbol.h
- write.o: write.c $(INCDIR)/symcat.h subsegs.h $(INCDIR)/obstack.h \
- output-file.h dwarf2dbg.h
+ EXPECT = expect
+ RUNTEST = runtest
+ RUNTESTFLAGS=
+@@ -2048,6 +2053,8 @@
+ subsegs.h struc-symbol.h
+ write.o: write.c subsegs.h $(INCDIR)/obstack.h output-file.h \
+ dwarf2dbg.h
+gasp.o: gasp.c $(INCDIR)/getopt.h $(INCDIR)/safe-ctype.h \
+ sb.h macro.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
- itbl-ops.o: itbl-ops.c itbl-ops.h $(INCDIR)/symcat.h
- e-crisaout.o: $(srcdir)/config/e-crisaout.c $(INCDIR)/symcat.h \
- emul-target.h
-diff -Nur binutils-2.13.90.0.18.orig/gas/doc/Makefile.am binutils-2.13.90.0.18/gas/doc/Makefile.am
---- binutils-2.13.90.0.18.orig/gas/doc/Makefile.am Sun Feb 2 03:21:17 2003
-+++ binutils-2.13.90.0.18/gas/doc/Makefile.am Sun Feb 2 12:35:43 2003
+ itbl-ops.o: itbl-ops.c itbl-ops.h
+ e-crisaout.o: $(srcdir)/config/e-crisaout.c emul-target.h
+ e-criself.o: $(srcdir)/config/e-criself.c emul-target.h
+diff -urNbB binutils-2.16.91.0.2.org/gas/doc/Makefile.am binutils-2.16.91.0.2/gas/doc/Makefile.am
+--- binutils-2.16.91.0.2.org/gas/doc/Makefile.am 2005-07-20 19:27:27.000000000 +0000
++++ binutils-2.16.91.0.2/gas/doc/Makefile.am 2005-07-21 18:31:04.000000000 +0000
@@ -15,7 +15,7 @@
man_MANS = as.1
asconfig.texi: $(CONFIG).texi
rm -f asconfig.texi
-diff -Nur binutils-2.14.90.0.7.orig/gas/doc/gasp.texinfo binutils-2.14.90.0.7/gas/doc/gasp.texinfo
---- binutils-2.14.90.0.7.orig/gas/doc/gasp.texinfo Thu Jan 1 01:00:00 1970
-+++ binutils-2.14.90.0.7/gas/doc/gasp.texinfo Wed Oct 30 05:09:13 2002
+diff -urNbB binutils-2.16.91.0.2.org/gas/doc/gasp.texinfo binutils-2.16.91.0.2/gas/doc/gasp.texinfo
+--- binutils-2.16.91.0.2.org/gas/doc/gasp.texinfo 1970-01-01 00:00:00.000000000 +0000
++++ binutils-2.16.91.0.2/gas/doc/gasp.texinfo 2005-07-21 18:31:04.000000000 +0000
@@ -0,0 +1,1456 @@
+\input texinfo @c -*- Texinfo -*-
+@setfilename gasp.info
+
+@contents
+@bye
---- binutils-2.16.90.0.2/gas/gasp.c.orig 1970-01-01 01:00:00.000000000 +0100
-+++ binutils-2.16.90.0.2/gas/gasp.c 2005-05-02 15:44:26.244061608 +0200
-@@ -0,0 +1,3938 @@
+--- binutils-2.17.50.0.2/gas/gasp.c.orig 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.17.50.0.2/gas/gasp.c 2006-06-07 11:22:13.774440000 +0200
+@@ -0,0 +1,3999 @@
+/* gasp.c - Gnu assembler preprocessor main program.
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ Free Software Foundation, Inc.
+ }
+}
+
++/* Like as_bad but the file name and line number are passed in.
++ Unfortunately, we have to repeat the function in order to handle
++ the varargs correctly and portably. */
++
++void
++as_warn_where (char *file, unsigned int line, const char *format, ...)
++{
++ va_list args;
++ char buffer[2000];
++
++ if (1 /*!flag_no_warnings*/)
++ {
++ va_start (args, format);
++ vsprintf (buffer, format, args);
++ va_end (args);
++ as_warn_internal (file, line, buffer);
++ }
++}
++
+/* Nonzero if we've hit a 'bad error', and should not write an obj file,
+ and exit with a nonzero error code. */
+
+ (void) putc ('\n', stderr);
+}
+
++/* Send to stderr a string as a warning, and locate warning in input
++ file(s). Please us when there is no recovery, but we want to
++ continue processing but not produce an object file.
++ Please explain in string (which may have '\n's) what recovery was
++ done. */
++
++void
++as_bad (const char *format, ...)
++{
++ va_list args;
++ char buffer[2000];
++
++ va_start (args, format);
++ vsprintf (buffer, format, args);
++ va_end (args);
++
++ as_bad_internal ((char *) NULL, 0, buffer);
++}
++
++/* Like as_bad but the file name and line number are passed in.
++ Unfortunately, we have to repeat the function in order to handle
++ the varargs correctly and portably. */
++
+void
+as_bad_where (char *file, unsigned int line, const char *format, ...)
+{
+ as_bad_internal (file, line, buffer);
+}
+
++/* Indicate assertion failure.
++ Arguments: Filename, line number, optional function name. */
++
++void
++as_assert (const char *file, int line, const char *fn)
++{
++ fprintf (stderr, _("Internal error!\n"));
++ if (fn)
++ fprintf (stderr, _("Assertion failure in %s at %s line %d.\n"),
++ fn, file, line);
++ else
++ fprintf (stderr, _("Assertion failure at %s line %d.\n"), file, line);
++ fprintf (stderr, _("Please report this bug.\n"));
++ xexit (EXIT_FAILURE);
++}
++
+#ifndef LEX_AT
+/* The m88k unfortunately uses @ as a label beginner. */
+#define LEX_AT 0
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
+};
---- binutils-2.16.90.0.2/gas/macro.c.orig 2005-04-29 19:50:28.000000000 +0200
-+++ binutils-2.16.90.0.2/gas/macro.c 2005-05-02 11:05:17.656233976 +0200
-@@ -75,8 +75,8 @@
++
++/* just a stub to satisfy unused function in sb.o */
++int do_scrub_chars (int (*get) (char*, int), char *tostart, int tolen) {}
+diff -urNbB binutils-2.16.91.0.2.org/gas/macro.c binutils-2.16.91.0.2/gas/macro.c
+--- binutils-2.16.91.0.2.org/gas/macro.c 2005-05-10 22:46:44.000000000 +0000
++++ binutils-2.16.91.0.2/gas/macro.c 2005-07-21 18:31:04.000000000 +0000
+@@ -77,8 +77,8 @@
static int get_apost_token (int, sb *, sb *, int);
static int sub_actual (int, sb *, sb *, struct hash_control *, int, sb *, int);
static const char *macro_expand_body
static void free_macro(macro_entry *);
#define ISWHITE(x) ((x) == ' ' || (x) == '\t')
-@@ -711,7 +711,7 @@
+@@ -762,7 +762,7 @@
static const char *
macro_expand_body (sb *in, sb *out, formal_entry *formals,
{
sb t;
int src = 0, inquote = 0, macro_line = 0;
-@@ -743,7 +743,14 @@
+@@ -794,7 +794,14 @@
else if (in->ptr[src] == '\\')
{
src++;
{
/* Sub in till the next ')' literally. */
src++;
-@@ -824,7 +831,7 @@
+@@ -875,7 +882,7 @@
else
{
src = sb_skip_white (src + 5, in);
+ while (in->ptr[src] != '\n' && in->ptr[src] != comment_char)
{
const char *name;
- formal_entry *f;
-@@ -865,6 +872,17 @@
+ formal_entry *f = new_formal ();
+@@ -911,6 +918,17 @@
}
}
}
else if (in->ptr[src] == '"'
|| (macro_mri && in->ptr[src] == '\''))
{
-@@ -949,7 +967,7 @@
+@@ -992,7 +1010,7 @@
body. */
static const char *
{
sb t;
formal_entry *ptr;
-@@ -999,7 +1017,7 @@
+@@ -1038,7 +1056,7 @@
/* Peel off the actuals and store them away in the hash tables' actuals. */
idx = sb_skip_white (idx, in);
{
int scan;
-@@ -1101,7 +1119,7 @@
- sb_add_string (&ptr->actual, buffer);
- }
+@@ -1167,7 +1185,7 @@
+ sb_add_string (&ptr->actual, buffer);
+ }
-- err = macro_expand_body (&m->sub, out, m->formals, m->formal_hash, m);
-+ err = macro_expand_body (&m->sub, out, m->formals, m->formal_hash, m, comment_char);
+- err = macro_expand_body (&m->sub, out, m->formals, m->formal_hash, m);
++ err = macro_expand_body (&m->sub, out, m->formals, m->formal_hash, m, comment_char);
+ }
/* Discard any unnamed formal arguments. */
- if (macro_mri)
-@@ -1136,7 +1154,7 @@
+@@ -1200,7 +1218,7 @@
*EXPAND. Return 1 if a macro is found, 0 otherwise. */
int
const char **error, macro_entry **info)
{
const char *s;
-@@ -1171,7 +1189,7 @@
+@@ -1235,7 +1253,7 @@
sb_add_char (&line_sb, *s++);
sb_new (expand);
sb_kill (&line_sb);
-@@ -1235,7 +1253,7 @@
+@@ -1296,7 +1314,7 @@
success, or an error message otherwise. */
const char *
{
sb sub;
formal_entry f;
-@@ -1267,16 +1285,16 @@
+@@ -1329,16 +1347,16 @@
sb_reset (out);
idx = sb_skip_comma (idx, in);
+ while (idx < in->len && in->ptr[idx] != comment_char)
{
if (!irpc)
- idx = get_any_string (idx, in, &f.actual, 1, 0);
-@@ -1287,7 +1305,7 @@
+ idx = get_any_string (idx, in, &f.actual);
+@@ -1349,7 +1367,7 @@
int nxt;
nxt = sb_skip_white (idx + 1, in);
{
idx = nxt;
break;
-@@ -1297,7 +1315,7 @@
+@@ -1359,7 +1377,7 @@
sb_add_char (&f.actual, in->ptr[idx]);
++idx;
}
if (err != NULL)
break;
if (!irpc)
---- binutils-2.16.90.0.2/gas/macro.h.orig 2005-04-29 19:50:28.000000000 +0200
-+++ binutils-2.16.90.0.2/gas/macro.h 2005-05-02 11:06:23.979151360 +0200
-@@ -80,8 +80,8 @@
+diff -urNbB binutils-2.16.91.0.2.org/gas/macro.h binutils-2.16.91.0.2/gas/macro.h
+--- binutils-2.16.91.0.2.org/gas/macro.h 2005-05-10 22:46:44.000000000 +0000
++++ binutils-2.16.91.0.2/gas/macro.h 2005-07-21 18:31:04.000000000 +0000
+@@ -90,8 +90,8 @@
extern void macro_mri_mode (int);
extern const char *define_macro
(int, sb *, sb *, int (*) (sb *), char *, unsigned int, const char **);
+extern const char *expand_irp (int, int, sb *, sb *, int (*) (sb *), int);
#endif
---- binutils-2.16.90.0.2/gas/read.c.orig 2005-04-29 19:50:28.000000000 +0200
-+++ binutils-2.16.90.0.2/gas/read.c 2005-05-02 11:06:53.579651400 +0200
-@@ -550,7 +550,7 @@
+diff -urNbB binutils-2.16.91.0.2.org/gas/read.c binutils-2.16.91.0.2/gas/read.c
+--- binutils-2.16.91.0.2.org/gas/read.c 2005-06-22 20:53:34.000000000 +0000
++++ binutils-2.16.91.0.2/gas/read.c 2005-07-21 18:31:04.000000000 +0000
+@@ -555,7 +555,7 @@
const char *err;
macro_entry *macro;
{
if (err != NULL)
as_bad ("%s", err);
-@@ -1978,7 +1978,7 @@
+@@ -1958,7 +1958,7 @@
sb_new (&out);
if (err != NULL)
as_bad_where (file, line, "%s", err);
---- binutils-2.16.90.0.2/gas/sb.h.orig 2005-04-29 19:50:28.000000000 +0200
-+++ binutils-2.16.90.0.2/gas/sb.h 2005-05-02 15:10:35.689752784 +0200
-@@ -82,6 +82,7 @@
- extern void sb_reset (sb *);
- extern void sb_add_char (sb *, int);
- extern void sb_add_string (sb *, const char *);
-+extern void sb_add_buffer (sb *, const char *, int);
- extern char *sb_terminate (sb *);
- extern int sb_skip_white (int, sb *);
- extern int sb_skip_comma (int, sb *);
---- binutils-2.16.90.0.2/gas/sb.c.orig 2005-04-29 19:50:28.000000000 +0200
-+++ binutils-2.16.90.0.2/gas/sb.c 2005-05-02 15:10:16.240709488 +0200
-@@ -165,6 +165,16 @@
- ptr->len += len;
- }
-
-+/* add string at s of length len to sb at ptr */
-+
-+void
-+sb_add_buffer (sb *ptr, const char *s, int len)
-+{
-+ sb_check (ptr, len);
-+ memcpy (ptr->ptr + ptr->len, s, len);
-+ ptr->len += len;
-+}
-+
- /* like sb_name, but don't include the null byte in the string. */
-
- char *