Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* For gdb-4.17 : COFF and C++
       [not found] <19980206204523.51968@cygnus.com>
@ 1998-02-09 21:38 ` Philippe De Muyter
  1998-02-09 21:43 ` For gdb-4.17 : COFF and unsigned enum's Philippe De Muyter
  1998-02-09 21:48 ` For gdb-4.17 : distclean and YYFILES Philippe De Muyter
  2 siblings, 0 replies; 4+ messages in thread
From: Philippe De Muyter @ 1998-02-09 21:38 UTC (permalink / raw)
  To: Jason Molenda; +Cc: gdb-patches

The following patch changes all FAIL's in gdb.c++/cplusfuncs.exp to PASS's.

Mon Feb  9 16:47:11 1998  Philippe De Muyter  <phdm@macqel.be>

	* coffread.c (coff_start_symtab): Function takes new parameter `name'
	and passes it to start_symtab.  All callers updated.
	(process_coff_symbol): Call SYMBOL_INIT_DEMANGLE_NAME.

--- ./gdb/coffread.c	Mon Feb  9 16:44:48 1998
+++ ./gdb/coffread.c	Mon Feb  9 13:01:56 1998
@@ -22,6 +22,7 @@
 #include "defs.h"
 #include "symtab.h"
 #include "gdbtypes.h"
+#include "demangle.h"
 #include "breakpoint.h"
 
 #include "bfd.h"
@@ -249,7 +250,7 @@
 
 static void complete_symtab PARAMS ((char *, CORE_ADDR, unsigned int));
 
-static void coff_start_symtab PARAMS ((void));
+static void coff_start_symtab PARAMS ((char *));
 
 static void coff_record_line PARAMS ((int, CORE_ADDR));
 
@@ -468,14 +469,15 @@ coff_record_line (line, pc)
    it indicates the start of data for one original source file.  */
 
 static void
-coff_start_symtab ()
+coff_start_symtab (name)
+    char *name;
 {
   start_symtab (
 		/* We fill in the filename later.  start_symtab puts
 		   this pointer into last_source_file and we put it in
 		   subfiles->name, which end_symtab frees; that's why
 		   it must be malloc'd.  */
-		savestring ("", 0),
+		savestring (name, strlen(name)),
 		/* We never know the directory name for COFF.  */
 		NULL,
 		/* The start address is irrelevant, since we set
@@ -544,7 +546,6 @@ coff_end_symtab (objfile)
      before (or because doing it now is simply an artifact of how this
      file used to be written).  */
   subfiles->line_vector = line_vector;
-  subfiles->name = last_source_file;
 
   symtab = end_symtab (current_source_end_addr, objfile, 0);
 
@@ -859,7 +860,7 @@ coff_symtab_read (symtab_offset, nsyms, 
     xmalloc (type_vector_length * sizeof (struct type *));
   memset (type_vector, 0, type_vector_length * sizeof (struct type *));
 
-  coff_start_symtab ();
+  coff_start_symtab ("");
 
   symnum = 0;
   while (symnum < nsyms)
@@ -873,7 +874,7 @@ coff_symtab_read (symtab_offset, nsyms, 
 	  if (last_source_file)
 	    coff_end_symtab (objfile);
 
-	  coff_start_symtab ();
+	  coff_start_symtab ("_globals_");
 	  complete_symtab ("_globals_", 0, 0);
 	  /* done with all files, everything from here on out is globals */
 	}
@@ -924,7 +925,7 @@ coff_symtab_read (symtab_offset, nsyms, 
 	    if (last_source_file)
 	      {
 		coff_end_symtab (objfile);
-		coff_start_symtab ();
+		coff_start_symtab (filestring);
 	      }
 	    in_source_file = 1;
 	    break;
@@ -1532,6 +1533,8 @@ process_coff_symbol (cs, aux, section_of
   name = EXTERNAL_NAME (name, objfile->obfd);
   SYMBOL_NAME (sym) = obsavestring (name, strlen (name),
 				    &objfile->symbol_obstack);
+  SYMBOL_LANGUAGE (sym) = language_auto;
+  SYMBOL_INIT_DEMANGLED_NAME (sym, &objfile->symbol_obstack);
 
   /* default assumptions */
   SYMBOL_VALUE (sym) = cs->c_value;


^ permalink raw reply	[flat|nested] 4+ messages in thread

* For gdb-4.17 : COFF and unsigned enum's
       [not found] <19980206204523.51968@cygnus.com>
  1998-02-09 21:38 ` For gdb-4.17 : COFF and C++ Philippe De Muyter
@ 1998-02-09 21:43 ` Philippe De Muyter
  1998-02-09 21:48 ` For gdb-4.17 : distclean and YYFILES Philippe De Muyter
  2 siblings, 0 replies; 4+ messages in thread
From: Philippe De Muyter @ 1998-02-09 21:43 UTC (permalink / raw)
  To: Jason Molenda; +Cc: gdb-patches

The following patch fixes the unsigned enum bitfield FAIL's in
gdb.base/setvar.exp (on m68k-motorola-syv).

Mon Feb  9 16:47:11 1998  Philippe De Muyter  <phdm@macqel.be>

	* coffread.c (coff_read_enum_type): Set TYPE_FLAG_UNSIGNED if enum
	is unsigned.

--- ./gdb/coffread.c	Mon Feb  9 16:44:48 1998
+++ ./gdb/coffread.c	Mon Feb  9 13:01:56 1998
@@ -2090,6 +2093,7 @@ coff_read_enum_type (index, length, last
   int o_nsyms;
   register int n;
   char *name;
+  int unsigned_enum = 1;
 
   type = coff_alloc_type (index);
   if (within_function)
@@ -2163,11 +2167,16 @@ coff_read_enum_type (index, length, last
 	  SYMBOL_TYPE (xsym) = type;
 	  TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
 	  TYPE_FIELD_BITPOS (type, n) = SYMBOL_VALUE (xsym);
+	  if (SYMBOL_VALUE (xsym) < 0)
+	    unsigned_enum = 0;
 	  TYPE_FIELD_BITSIZE (type, n) = 0;
 	}
       if (syms == osyms)
 	break;
     }
+
+  if (unsigned_enum)
+    TYPE_FLAGS (type) |= TYPE_FLAG_UNSIGNED;
 
   return type;
 }


^ permalink raw reply	[flat|nested] 4+ messages in thread

* For gdb-4.17 : distclean and YYFILES
       [not found] <19980206204523.51968@cygnus.com>
  1998-02-09 21:38 ` For gdb-4.17 : COFF and C++ Philippe De Muyter
  1998-02-09 21:43 ` For gdb-4.17 : COFF and unsigned enum's Philippe De Muyter
@ 1998-02-09 21:48 ` Philippe De Muyter
  1998-02-09 23:09   ` Peter.Schauer
  2 siblings, 1 reply; 4+ messages in thread
From: Philippe De Muyter @ 1998-02-09 21:48 UTC (permalink / raw)
  To: Jason Molenda; +Cc: gdb-patches

distclean forgets some files :

Mon Feb  9 16:47:11 1998  Philippe De Muyter  <phdm@macqel.be>

	* Makefile.in (distclean): Add `rm $(YYFILES)'.

--- ./gdb/Makefile.in	Mon Feb  9 16:44:52 1998
+++ ./gdb/Makefile.in	Mon Feb  9 13:01:14 1998
@@ -707,6 +707,7 @@
 	rm -f nm.h tm.h xm.h config.status config.h stamp-h .gdbinit
 	rm -f y.output yacc.acts yacc.tmp y.tab.h
 	rm -f config.log config.cache
+	rm -f $(YYFILES)
 	rm -f Makefile
 
 maintainer-clean realclean: distclean clean


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: For gdb-4.17 : distclean and YYFILES
  1998-02-09 21:48 ` For gdb-4.17 : distclean and YYFILES Philippe De Muyter
@ 1998-02-09 23:09   ` Peter.Schauer
  0 siblings, 0 replies; 4+ messages in thread
From: Peter.Schauer @ 1998-02-09 23:09 UTC (permalink / raw)
  To: Philippe De Muyter; +Cc: gdb-patches

While I agree with the other two patches you sent in recently,
this one is wrong.

The released GDB will be distributed with the YYFILES, because a distribution
shouldn't require yacc/bison for the build. Obviously distclean
shouldn't remove them, realclean/maintainer-clean should be used to get
rid of YYFILES.

> distclean forgets some files :
> 
> Mon Feb  9 16:47:11 1998  Philippe De Muyter  <phdm@macqel.be>
> 
> 	* Makefile.in (distclean): Add `rm $(YYFILES)'.
> 
> --- ./gdb/Makefile.in	Mon Feb  9 16:44:52 1998
> +++ ./gdb/Makefile.in	Mon Feb  9 13:01:14 1998
> @@ -707,6 +707,7 @@
>  	rm -f nm.h tm.h xm.h config.status config.h stamp-h .gdbinit
>  	rm -f y.output yacc.acts yacc.tmp y.tab.h
>  	rm -f config.log config.cache
> +	rm -f $(YYFILES)
>  	rm -f Makefile
>  
>  maintainer-clean realclean: distclean clean
> 
> 


-- 
Peter Schauer			pes@regent.e-technik.tu-muenchen.de


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1998-02-09 23:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <19980206204523.51968@cygnus.com>
1998-02-09 21:38 ` For gdb-4.17 : COFF and C++ Philippe De Muyter
1998-02-09 21:43 ` For gdb-4.17 : COFF and unsigned enum's Philippe De Muyter
1998-02-09 21:48 ` For gdb-4.17 : distclean and YYFILES Philippe De Muyter
1998-02-09 23:09   ` Peter.Schauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox