summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog70
-rw-r--r--gdb/buildsym.c4
-rw-r--r--gdb/config/stratus.mt4
-rw-r--r--gdb/dwarfread.c15
-rw-r--r--gdb/gdbtypes.h18
-rw-r--r--gdb/objfiles.c28
-rw-r--r--gdb/tm-stratus.h6
-rw-r--r--gdb/xm-stratus.h9
8 files changed, 103 insertions, 51 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 56aac82d735..9edb02d7044 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,16 +1,50 @@
-<<<<<<< ChangeLog
-Wed Jul 22 04:23:03 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
-
- * es1800.c: use FREAD|FWRITE rather than _FREAD|_FWRITE.
- include <sgtty.h> on USG. (from sef).
-
- * depend: es1800 dependency needed here.
+Sat Aug 1 13:32:58 1992 Fred Fish (fnf@cygnus.com)
+
+ * dwarfread.c (struct dieinfo): Remove obsolete at_visibility,
+ at_import, at_frame_base.
+ * dwarfread.c (completedieinfo): Remove cases for obsolete
+ AT_visibility, AT_import, and AT_frame_base attributes.
+ * breakpoint.h (BREAKPOINT_MAX): Increase from 10 to 16 for
+ i860, which can keep up to 4 shadow breakpoints.
+ * tm-stratus.h (USG): Define.
+ * tm-stratus.h (TARGET_BYTE_ORDER): Define to BIG_ENDIAN.
+ * xm-stratus.h (HOST_BYTE_ORDER): Define to BIG_ENDIAN.
+ * xm-stratus.h (xm-sysv4.h): Include, name changed from xm-svr4.h.
+ * xm-stratus.h (NO_JOB_CONTROL): Remove define.
+ * config/stratus.mt (TDEPFILES): Include files available from
+ stratus that are not yet in release pending receipt of paperwork
+ at FSF.
+ * buildsym.c (finish_block): Minor code format change.
+ * gdbtypes.h (struct field): Add to comments.
+ * gdbtypes.h (virtual_field_bits): Add to comments.
+ * objfiles.c (allocate_objfile): Change obstack interface to
+ match FSF merging efforts.
+
+Mon Jul 27 21:14:44 1992 Fred Fish (fnf@cygnus.com)
+
+ * Makefile.in (VERSION): Bump to 4.6.2.
+ * Makefile.in (SFILES_MAINDIR): Add stabsread.c
+ * Makefile.in (OBS): Add stabsread.o
+ * Makefile.in (stabsread.o): Add build rule.
+ * stabsread.c, stabsread.h: New files.
+ * buildsym.c: Split out stabs specific support to stabsread.c.
+ * buildsym.h: Split out stabs specific support to stabsread.h.
+ * dbxread.c (stabsread.h): Include
+ * dbxread.c (dbx_new_init): Call stabsread_new_init.
+ * dbxread.c (dbx_psymtab_to_symtab_1): Call stabsread_init.
+ * dbxread.c (read_ofile_symtab): Call end_stabs.
+ * dbxread.c (process_one_symbol): Call end_stabs and start_stabs.
+ * dbxread.c (elfstab_build_psymtabs): Call stabsread_new_init.
+ * dwarfread.c (psymtab_to_symtab_1): Call buildsym_init, add
+ really_free_pendings to cleanups.
+ * elfread.c (elf_new_init): Call stabsread_new_init.
+ * gdbtypes.c: Small changes to maintenance commands.
+ * mipsread.c (stabsread.h): Include.
+ * mipsread.c (psymtab_to_symtab_1): Call end_stabs.
+ * xcoffread.c (stabsread.h): Include.
+ * xcoffread.c (global_stabs): Remove redundant def.
+ * xcoffread.c (read_xcoff_symtab): Call start_stabs and end_stabs.
-Mon Jul 20 11:25:18 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
-
- * configure.in: es1800 ok for 68000 too.
-
-=======
Wed Jul 22 21:39:33 1992 Fred Fish (fnf@cygnus.com)
* lmode_inferior_valid, lmode_ours_valid: New static vars.
@@ -18,6 +52,13 @@ Wed Jul 22 21:39:33 1992 Fred Fish (fnf@cygnus.com)
terminal_ours_1, initialize_inflow): Record and use state
of lmode_inferior_valid and lmode_ours_valid.
+Wed Jul 22 04:23:03 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
+
+ * es1800.c: use FREAD|FWRITE rather than _FREAD|_FWRITE.
+ include <sgtty.h> on USG. (from sef).
+
+ * depend: es1800 dependency needed here.
+
Mon Jul 20 21:09:53 1992 Fred Fish (fnf@cygnus.com)
* buildsym.c (read_struct_type): Initialize structs allocated
@@ -38,7 +79,10 @@ Mon Jul 20 21:09:53 1992 Fred Fish (fnf@cygnus.com)
messages for C++ classes with no data members. Also use new
fprintfi_filtered function.
->>>>>>> 1.651
+Mon Jul 20 11:25:18 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
+
+ * configure.in: es1800 ok for 68000 too.
+
Sat Jul 18 15:48:58 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
* configure.in: echo error messages to stderr, not stdout
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 6e5c52bcbbb..90cbbe42f9d 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -189,7 +189,9 @@ finish_block (symbol, listhead, old_blocks, start, end, objfile)
/* Count the length of the list of symbols. */
- for (next = *listhead, i = 0; next; i += next->nsyms, next = next->next)
+ for (next = *listhead, i = 0;
+ next;
+ i += next->nsyms, next = next->next)
{
/*EMPTY*/;
}
diff --git a/gdb/config/stratus.mt b/gdb/config/stratus.mt
index e218e1c0b67..e8d288cdf28 100644
--- a/gdb/config/stratus.mt
+++ b/gdb/config/stratus.mt
@@ -1,5 +1,5 @@
# Target: Stratus machine running SVR4.
# The i860 files are not yet released to FSF.
-#TDEPFILES= i860-pinsn.o exec.o i860-tdep.o solib.o
-TDEPFILES= exec.o solib.o
+TDEPFILES= i860-pinsn.o exec.o i860-tdep.o solib.o
+#TDEPFILES= exec.o solib.o
TM_FILE= tm-stratus.h
diff --git a/gdb/dwarfread.c b/gdb/dwarfread.c
index 9e39f4ff95c..fde32e64527 100644
--- a/gdb/dwarfread.c
+++ b/gdb/dwarfread.c
@@ -195,12 +195,9 @@ struct dieinfo {
unsigned long at_member;
unsigned long at_discr;
BLOCK * at_discr_value;
- unsigned short at_visibility;
- unsigned long at_import;
BLOCK * at_string_length;
char * at_comp_dir;
char * at_producer;
- unsigned long at_frame_base;
unsigned long at_start_scope;
unsigned long at_stride_size;
unsigned long at_src_info;
@@ -3196,10 +3193,6 @@ completedieinfo (dip, objfile)
dip -> at_bit_offset = target_to_host (diep, nbytes, GET_UNSIGNED,
objfile);
break;
- case AT_visibility:
- dip -> at_visibility = target_to_host (diep, nbytes, GET_UNSIGNED,
- objfile);
- break;
case AT_sibling:
dip -> at_sibling = target_to_host (diep, nbytes, GET_UNSIGNED,
objfile);
@@ -3244,10 +3237,6 @@ completedieinfo (dip, objfile)
dip -> at_discr = target_to_host (diep, nbytes, GET_UNSIGNED,
objfile);
break;
- case AT_import:
- dip -> at_import = target_to_host (diep, nbytes, GET_UNSIGNED,
- objfile);
- break;
case AT_location:
dip -> at_location = diep;
break;
@@ -3293,10 +3282,6 @@ completedieinfo (dip, objfile)
case AT_producer:
dip -> at_producer = diep;
break;
- case AT_frame_base:
- dip -> at_frame_base = target_to_host (diep, nbytes, GET_UNSIGNED,
- objfile);
- break;
case AT_start_scope:
dip -> at_start_scope = target_to_host (diep, nbytes, GET_UNSIGNED,
objfile);
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index fa1eb73bd9f..60a8225bb6a 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -171,6 +171,9 @@ struct type
For range types, there are two "fields",
the minimum and maximum values (both inclusive).
For enum types, each possible value is described by one "field".
+ For C++ classes, there is one field for each base class (if it is
+ a derived class) plus one field for each class data member. Member
+ functions are recorded elsewhere.
Using a pointer to a separate array of fields
allows all types to have the same size, which is useful
@@ -260,10 +263,17 @@ struct cplus_struct_type
int nfn_fields_total;
- /* For derived classes, the number of base classes is given by
- n_baseclasses and virtual_field_bits is a bit vector containing one bit
- per base class.
- If the base class is virtual, the corresponding bit will be set. */
+ /* For derived classes, the number of base classes is given by n_baseclasses
+ and virtual_field_bits is a bit vector containing one bit per base class.
+ If the base class is virtual, the corresponding bit will be set.
+ I.E, given:
+
+ class A{};
+ class B{};
+ class C : public B, public virtual A {};
+
+ B is a baseclass of C; A is a virtual baseclass for C.
+ This is a C++ 2.0 language feature. */
B_TYPE *virtual_field_bits;
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index 5e22be95c97..4dae610bd5b 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -126,15 +126,15 @@ allocate_objfile (abfd, mapped)
objfile -> mmfd = fd;
objfile -> flags |= OBJF_MAPPED;
mmalloc_setkey (objfile -> md, 0, objfile);
- obstack_alloc_arg (&objfile -> psymbol_obstack, objfile -> md);
- obstack_full_begin (&objfile -> psymbol_obstack, 0, 0, xmmalloc,
- mfree);
- obstack_alloc_arg (&objfile -> symbol_obstack, objfile -> md);
- obstack_full_begin (&objfile -> symbol_obstack, 0, 0, xmmalloc,
- mfree);
- obstack_alloc_arg (&objfile -> type_obstack, objfile -> md);
- obstack_full_begin (&objfile -> type_obstack, 0, 0, xmmalloc,
- mfree);
+ obstack_specify_allocation_with_arg (&objfile -> psymbol_obstack,
+ 0, 0, xmmalloc, mfree,
+ objfile -> md);
+ obstack_specify_allocation_with_arg (&objfile -> symbol_obstack,
+ 0, 0, xmmalloc, mfree,
+ objfile -> md);
+ obstack_specify_allocation_with_arg (&objfile -> type_obstack,
+ 0, 0, xmmalloc, mfree,
+ objfile -> md);
}
}
@@ -168,9 +168,12 @@ allocate_objfile (abfd, mapped)
objfile = (struct objfile *) xmalloc (sizeof (struct objfile));
memset (objfile, 0, sizeof (struct objfile));
objfile -> md = NULL;
- obstack_full_begin (&objfile -> psymbol_obstack, 0, 0, xmalloc, free);
- obstack_full_begin (&objfile -> symbol_obstack, 0, 0, xmalloc, free);
- obstack_full_begin (&objfile -> type_obstack, 0, 0, xmalloc, free);
+ obstack_specify_allocation (&objfile -> psymbol_obstack, 0, 0, xmalloc,
+ free);
+ obstack_specify_allocation (&objfile -> symbol_obstack, 0, 0, xmalloc,
+ free);
+ obstack_specify_allocation (&objfile -> type_obstack, 0, 0, xmalloc,
+ free);
}
/* Update the per-objfile information that comes from the bfd, ensuring
@@ -565,4 +568,3 @@ map_to_address ()
}
#endif /* !defined(NO_MMALLOC) && defined(HAVE_MMAP) */
-
diff --git a/gdb/tm-stratus.h b/gdb/tm-stratus.h
index 688d1a4cbb1..a2c5ef8a874 100644
--- a/gdb/tm-stratus.h
+++ b/gdb/tm-stratus.h
@@ -17,5 +17,11 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
+/* Normally, i860 is little endian. However, stratus uses the i860 in
+ big endian mode. */
+#define TARGET_BYTE_ORDER BIG_ENDIAN
+
+#define USG
+
#include "tm-sysv4.h"
#include "tm-i860.h"
diff --git a/gdb/xm-stratus.h b/gdb/xm-stratus.h
index 11313b684b0..8898a6d50b8 100644
--- a/gdb/xm-stratus.h
+++ b/gdb/xm-stratus.h
@@ -18,13 +18,18 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
+/* Normally, i860 is little endian. However, stratus uses the i860 in
+ big endian mode. */
+
+#define HOST_BYTE_ORDER BIG_ENDIAN
+
/* Pick up most of what we need from the generic i860 host include file. */
#include "xm-i860.h"
/* Pick up more stuff from the generic SVR4 host include file. */
-#include "xm-svr4.h"
+#include "xm-sysv4.h"
/* The native compiler complains about using volatile to indicate functions
that never return. So shut it up by simply defining away "NORETURN", which
@@ -33,5 +38,3 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef __GNUC__
# define NORETURN /**/
#endif
-
-#define NO_JOB_CONTROL