* dbxread.c (dbx_symfile_init): Fix for nonexistant string table,

reported by mycroft@gnu.ai.mit.edu.

	(Ultrix 2.2 support from Michael Rendell <michael@mercury.cs.mun.ca>)
	* configure.in (vax-*-ultrix2*):  New triplet.
	* config/vaxult2.mh:  New file.
	* xm-vaxult2.h:  New file.
This commit is contained in:
Fred Fish
1993-03-03 06:04:26 +00:00
parent b84d84d7a6
commit 6985bc542e
7 changed files with 33 additions and 3 deletions

View File

@ -376,6 +376,7 @@ xm-umax.h
xm-vax.h xm-vax.h
xm-vaxbsd.h xm-vaxbsd.h
xm-vaxult.h xm-vaxult.h
xm-vaxult2.h
z8k-tdep.c z8k-tdep.c
Do-last: Do-last:

View File

@ -1,5 +1,13 @@
Tue Mar 2 17:57:56 1993 Fred Fish (fnf@cygnus.com) Tue Mar 2 17:57:56 1993 Fred Fish (fnf@cygnus.com)
* dbxread.c (dbx_symfile_init): Fix for nonexistant string table,
reported by mycroft@gnu.ai.mit.edu.
(Ultrix 2.2 support from Michael Rendell <michael@mercury.cs.mun.ca>)
* configure.in (vax-*-ultrix2*): New triplet.
* config/vaxult2.mh: New file.
* xm-vaxult2.h: New file.
* c-exp.y (parse_number): Change high_bit to unsigned. * c-exp.y (parse_number): Change high_bit to unsigned.
* demangle.c: Change all references to cfront to ARM, since the * demangle.c: Change all references to cfront to ARM, since the
actual algorithm is the one specified in the Annotated Reference actual algorithm is the one specified in the Annotated Reference

View File

@ -128,6 +128,7 @@ umax.mt
vax.mt vax.mt
vaxbsd.mh vaxbsd.mh
vaxult.mh vaxult.mh
vaxult2.mh
vxworks68.mt vxworks68.mt
vxworks960.mt vxworks960.mt

8
gdb/config/vaxult2.mh Normal file
View File

@ -0,0 +1,8 @@
# Host: DEC VAX running Ultrix
XDEPFILES=
REGEX=regex.o
REGEX1=regex.o
XM_FILE= xm-vaxult2.h
NAT_FILE= nm-vax.h
NATDEPFILES= infptrace.o inftarg.o fork-child.o coredep.o corelow.o

View File

@ -82,6 +82,7 @@ sparc-*-*) gdb_host=sun4os4 ;;
tahoe-*-*) gdb_host=tahoe ;; tahoe-*-*) gdb_host=tahoe ;;
vax-*-bsd*) gdb_host=vaxbsd ;; vax-*-bsd*) gdb_host=vaxbsd ;;
vax-*-ultrix2*) gdb_host=vaxult2 ;;
vax-*-ultrix*) gdb_host=vaxult ;; vax-*-ultrix*) gdb_host=vaxult ;;
esac esac

View File

@ -553,19 +553,23 @@ dbx_symfile_init (objfile)
that we put in on the psymbol_obstack, we can't do this since gdb gets that we put in on the psymbol_obstack, we can't do this since gdb gets
a fatal error (out of virtual memory) if the size is bogus. We can a fatal error (out of virtual memory) if the size is bogus. We can
however at least check to see if the size is zero or some negative however at least check to see if the size is zero or some negative
value. */ value. */
val = bfd_seek (sym_bfd, STRING_TABLE_OFFSET, L_SET); val = bfd_seek (sym_bfd, STRING_TABLE_OFFSET, L_SET);
if (val < 0) if (val < 0)
perror_with_name (name); perror_with_name (name);
memset (size_temp, 0, sizeof (size_temp));
val = bfd_read ((PTR)size_temp, sizeof (long), 1, sym_bfd); val = bfd_read ((PTR)size_temp, sizeof (long), 1, sym_bfd);
if (val < 0) if (val < 0)
perror_with_name (name); perror_with_name (name);
DBX_STRINGTAB_SIZE (objfile) = bfd_h_get_32 (sym_bfd, size_temp); DBX_STRINGTAB_SIZE (objfile) = bfd_h_get_32 (sym_bfd, size_temp);
if (DBX_STRINGTAB_SIZE (objfile) <= 0 if (DBX_STRINGTAB_SIZE (objfile) == 0)
error ("%s has no string table.", name);
if (DBX_STRINGTAB_SIZE (objfile) < 0
|| DBX_STRINGTAB_SIZE (objfile) > bfd_get_size (sym_bfd)) || DBX_STRINGTAB_SIZE (objfile) > bfd_get_size (sym_bfd))
error ("ridiculous string table size (%d bytes).", error ("ridiculous string table size (%d bytes).",
DBX_STRINGTAB_SIZE (objfile)); DBX_STRINGTAB_SIZE (objfile));
@ -1650,7 +1654,7 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
sanity checks). If so, that one was actually the directory sanity checks). If so, that one was actually the directory
name, and the current one is the real file name. name, and the current one is the real file name.
Patch things up. */ Patch things up. */
if (previous_stab_code == (int) N_SO) if (previous_stab_code == (unsigned char) N_SO)
{ {
patch_subfile_names (current_subfile, name); patch_subfile_names (current_subfile, name);
break; /* Ignore repeated SOs */ break; /* Ignore repeated SOs */

7
gdb/xm-vaxult2.h Normal file
View File

@ -0,0 +1,7 @@
/* Definitions to make GDB run on a vax under Ultrix. */
#include "xm-vax.h"
extern char *strdup();
#define MEM_FNS_DECLARED
#define NO_PTRACE_H