* 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

@ -559,13 +559,17 @@ dbx_symfile_init (objfile)
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