aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1993-07-18 15:47:51 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1993-07-18 15:47:51 +0000
commit76b098d175f07d9d8635e5b603945a4497a6e09b (patch)
treeff5ba16fec44edd3cf1c1b96317d01aaed6fa39e /gdb/testsuite
parent8467a2ad46b808bd6c4ca52c20ef9b5e2f76d17d (diff)
downloadgdb-76b098d175f07d9d8635e5b603945a4497a6e09b.zip
gdb-76b098d175f07d9d8635e5b603945a4497a6e09b.tar.gz
gdb-76b098d175f07d9d8635e5b603945a4497a6e09b.tar.bz2
* gdb.stabs/{ecoff.mt,wierd-ecoff.S,wierd-ecoff.sed}: New files
to make the stabs test work on ecoff systems using gcc and -with-stabs. * gdb.stabs/{Makefile.in,configure.in,aout.mt,xcoff.mt}: Modify to enable ecoff configuration.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.stabs/.Sanitize3
-rw-r--r--gdb/testsuite/gdb.stabs/aout.mt5
-rw-r--r--gdb/testsuite/gdb.stabs/configure.in3
-rw-r--r--gdb/testsuite/gdb.stabs/ecoff.mt14
-rw-r--r--gdb/testsuite/gdb.stabs/wierd-ecoff.S29
-rw-r--r--gdb/testsuite/gdb.stabs/wierd-ecoff.sed6
-rw-r--r--gdb/testsuite/gdb.stabs/xcoff.mt5
8 files changed, 72 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index f5d34a9..c19e711 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+Sun Jul 18 08:40:45 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * gdb.stabs/{ecoff.mt,wierd-ecoff.S,wierd-ecoff.sed}: New files
+ to make the stabs test work on ecoff systems using gcc and -with-stabs.
+ * gdb.stabs/{Makefile.in,configure.in,aout.mt,xcoff.mt}: Modify to
+ enable ecoff configuration.
+
Thu Jul 15 11:54:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* gdb.t15/funcargs.exp (localvars_in_indirect_call): New test.
diff --git a/gdb/testsuite/gdb.stabs/.Sanitize b/gdb/testsuite/gdb.stabs/.Sanitize
index f8dc415..9cda8ca 100644
--- a/gdb/testsuite/gdb.stabs/.Sanitize
+++ b/gdb/testsuite/gdb.stabs/.Sanitize
@@ -26,7 +26,10 @@ Things-to-keep:
Makefile.in
aout.mt
configure.in
+ecoff.mt
wierd-aout.S
+wierd-ecoff.sed
+wierd-ecoff.S
wierd-xcoff.S
wierd.def
wierd.exp
diff --git a/gdb/testsuite/gdb.stabs/aout.mt b/gdb/testsuite/gdb.stabs/aout.mt
index a696358..5a9b8ff 100644
--- a/gdb/testsuite/gdb.stabs/aout.mt
+++ b/gdb/testsuite/gdb.stabs/aout.mt
@@ -1 +1,6 @@
WIERDSTABS_S=wierd-aout.S
+
+wierd.o: ${srcdir}/${WIERDSTABS_S} ${srcdir}/wierd.def
+ cp ${srcdir}/${WIERDSTABS_S} tmp.c
+ $(CC) -I${srcdir} -E tmp.c >wierd.s
+ $(CC) -c wierd.s
diff --git a/gdb/testsuite/gdb.stabs/configure.in b/gdb/testsuite/gdb.stabs/configure.in
index 7327327..815afa4 100644
--- a/gdb/testsuite/gdb.stabs/configure.in
+++ b/gdb/testsuite/gdb.stabs/configure.in
@@ -15,6 +15,9 @@ case "${target}" in
# Do any other machines use .stabx? What about i386-*-aix*?
rs6000-*-aix*) target_makefile_frag=xcoff.mt ;;
+mips-*-bsd*) target_makefile_frag=aout.mt ;;
+mips-*-*) target_makefile_frag=ecoff.mt ;;
+
*-*-*) target_makefile_frag=aout.mt ;;
esac
diff --git a/gdb/testsuite/gdb.stabs/ecoff.mt b/gdb/testsuite/gdb.stabs/ecoff.mt
new file mode 100644
index 0000000..fa261fd
--- /dev/null
+++ b/gdb/testsuite/gdb.stabs/ecoff.mt
@@ -0,0 +1,14 @@
+# The mips as doesn't grok #line directives, suppress them via -P during
+# preprocessing.
+# The sed script removes blanks that mips-tfile doesn't like,
+# embedds stabs in comments and changes .long to .word
+#
+WIERDSTABS_S=wierd-ecoff.S
+# Only gcc knows about stabs-in-ecoff
+STABSCC=gcc
+
+wierd.o: ${srcdir}/${WIERDSTABS_S} ${srcdir}/wierd.def ${srcdir}/wierd-ecoff.sed
+ cp ${srcdir}/${WIERDSTABS_S} tmp.c
+ $(STABSCC) -I${srcdir} -E -P tmp.c >tmp.s
+ sed -f ${srcdir}/wierd-ecoff.sed <tmp.s >wierd.s
+ $(STABSCC) -c wierd.s
diff --git a/gdb/testsuite/gdb.stabs/wierd-ecoff.S b/gdb/testsuite/gdb.stabs/wierd-ecoff.S
new file mode 100644
index 0000000..4560b99
--- /dev/null
+++ b/gdb/testsuite/gdb.stabs/wierd-ecoff.S
@@ -0,0 +1,29 @@
+/* GDB legitimately expects a file name. */
+ .file 1 "wierd.c"
+ @stabs
+ .stabs "wierd.c",0x64,0,0,0
+
+#define N_LSYM 0x80
+#define N_GSYM 0x20
+
+#define N_BCOMM 0xe2
+#define N_ECOMM 0xe4
+#define BEGIN_COMMON(name) .stabs name,N_BCOMM,0,0,0
+#define END_COMMON(name) .stabs name,N_ECOMM,0,0,0
+
+#define VAR(name) \
+ .globl name; \
+.data; \
+ .align 2; \
+name:; \
+ .word 42
+
+#define STAB(string,type,value) .stabs string,type,0,0,value
+#include "wierd.def"
+
+/* Stuff with backslashes needs to go here, since gcc with stabs treats
+ them differently. */
+
+STAB("sym92:\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0)
+STAB("type92:t92=\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0)
+STAB("attr92:G392=@\ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM, 0)
diff --git a/gdb/testsuite/gdb.stabs/wierd-ecoff.sed b/gdb/testsuite/gdb.stabs/wierd-ecoff.sed
new file mode 100644
index 0000000..c3fa0f1
--- /dev/null
+++ b/gdb/testsuite/gdb.stabs/wierd-ecoff.sed
@@ -0,0 +1,6 @@
+s/\.stabs/ #.stabs/
+s/@stabs/ #@stabs/
+s/" *, */",/g
+s/\([0-9]\) *, */\1,/g
+s/ *$//
+s/\.long/.word/
diff --git a/gdb/testsuite/gdb.stabs/xcoff.mt b/gdb/testsuite/gdb.stabs/xcoff.mt
index c4cf0a6..6d575bf 100644
--- a/gdb/testsuite/gdb.stabs/xcoff.mt
+++ b/gdb/testsuite/gdb.stabs/xcoff.mt
@@ -1 +1,6 @@
WIERDSTABS_S=wierd-xcoff.S
+
+wierd.o: ${srcdir}/${WIERDSTABS_S} ${srcdir}/wierd.def
+ cp ${srcdir}/${WIERDSTABS_S} tmp.c
+ $(CC) -I${srcdir} -E tmp.c >wierd.s
+ $(CC) -c wierd.s