Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@gnat.com>
To: gdb-patches@sources.redhat.com
Subject: Re: [RFA] Replace SET_NAMESTRING macro by function in hpread.c
Date: Sun, 12 Jan 2003 11:51:00 -0000	[thread overview]
Message-ID: <20030112115046.GP30359@gnat.com> (raw)
In-Reply-To: <20030111174913.GA1930@nevyn.them.org>

[-- Attachment #1: Type: text/plain, Size: 501 bytes --]

> > 2003-01-10  J. Brobecker  <brobecker@gnat.com>
> > 
> >         * hpread.c (set_namestring): New procedure replacing the
> >         SET_NAMESTRING macro.
> >         (hpread_build_psymtabs): Replace calls to SET_NAMESTRING
> >         by calls to set_namestring.
> > 
> > Ok to apply?
> 
> Yes, if...
> > +   if (! hpread_has_name ((sym)->dblock.kind))
> 
> Please lose all the extra parentheses from the macro definition.

Thanks. Attached is the actual change that I just checked in.

-- 
Joel

[-- Attachment #2: hpread.c.diff --]
[-- Type: text/plain, Size: 7133 bytes --]

Index: hpread.c
===================================================================
RCS file: /cvs/src/src/gdb/hpread.c,v
retrieving revision 1.30
diff -c -3 -p -r1.30 hpread.c
*** hpread.c	11 Jan 2003 02:13:22 -0000	1.30
--- hpread.c	12 Jan 2003 11:46:03 -0000
*************** struct hpread_symfile_info
*** 87,109 ****
  #define WITHIN_FUNCTION(o)      (HPUX_SYMFILE_INFO(o)->within_function)
  #define CURRENT_FUNCTION_VALUE(o) (HPUX_SYMFILE_INFO(o)->current_function_value)
  
- /* Given the native debug symbol SYM, set NAMEP to the name associated
-    with the debug symbol.  Note we may be called with a debug symbol which
-    has no associated name, in that case we return an empty string.
- 
-    Also note we "know" that the name for any symbol is always in the
-    same place.  Hence we don't have to conditionalize on the symbol type.  */
- #define SET_NAMESTRING(SYM, NAMEP, OBJFILE) \
-   if (! hpread_has_name ((SYM)->dblock.kind)) \
-     *NAMEP = ""; \
-   else if (((unsigned)(SYM)->dsfile.name) >= VT_SIZE (OBJFILE)) \
-     { \
-       complaint (&symfile_complaints, "bad string table offset in symbol %d", \
- 		 symnum); \
-       *NAMEP = ""; \
-     } \
-   else \
-     *NAMEP = (SYM)->dsfile.name + VT (OBJFILE)
  \f
  /* We put a pointer to this structure in the read_symtab_private field
     of the psymtab.  */
--- 87,92 ----
*************** lbrac_mismatch_complaint (int arg1)
*** 155,160 ****
--- 138,146 ----
  
  /* Forward procedure declarations */
  
+ static void set_namestring (union dnttentry *sym, char **namep,
+                             struct objfile *objfile);
+ 
  void hpread_symfile_init (struct objfile *);
  
  void do_pxdb (bfd *);
*************** trans_lang (enum hp_language in_lang)
*** 302,307 ****
--- 288,315 ----
  
  static char main_string[] = "main";
  \f
+ 
+ /* Given the native debug symbol SYM, set NAMEP to the name associated
+    with the debug symbol.  Note we may be called with a debug symbol which
+    has no associated name, in that case we return an empty string.  */
+ 
+ static void
+ set_namestring (union dnttentry *sym, char **namep, struct objfile *objfile)
+ {
+   /* Note that we "know" that the name for any symbol is always in the same
+      place.  Hence we don't have to conditionalize on the symbol type.  */
+   if (! hpread_has_name (sym->dblock.kind))
+     *namep = "";
+   else if ((unsigned) sym->dsfile.name >= VT_SIZE (objfile))
+     {
+       complaint (&symfile_complaints, "bad string table offset in symbol %d",
+ 		 symnum);
+       *namep = "";
+     }
+   else
+     *namep = sym->dsfile.name + VT (objfile);
+ }
+ 
  /* Call PXDB to process our file.
  
     Approach copied from DDE's "dbgk_run_pxdb".  Note: we
*************** hpread_build_psymtabs (struct objfile *o
*** 1917,1923 ****
  
  		/* A source file of some kind.  Note this may simply
  		   be an included file.  */
! 		SET_NAMESTRING (dn_bufp, &namestring, objfile);
  
  		/* Check if this is the source file we are already working
  		   with.  */
--- 1925,1931 ----
  
  		/* A source file of some kind.  Note this may simply
  		   be an included file.  */
! 		set_namestring (dn_bufp, &namestring, objfile);
  
  		/* Check if this is the source file we are already working
  		   with.  */
*************** hpread_build_psymtabs (struct objfile *o
*** 2022,2028 ****
  		}
  
  	      /* Now begin a new module and a new psymtab for it */
! 	      SET_NAMESTRING (dn_bufp, &namestring, objfile);
  	      valu = hpread_get_textlow (i, hp_symnum, objfile, symcount);
  	      valu += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
  	      if (!pst)
--- 2030,2036 ----
  		}
  
  	      /* Now begin a new module and a new psymtab for it */
! 	      set_namestring (dn_bufp, &namestring, objfile);
  	      valu = hpread_get_textlow (i, hp_symnum, objfile, symcount);
  	      valu += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
  	      if (!pst)
*************** hpread_build_psymtabs (struct objfile *o
*** 2048,2054 ****
  		texthigh = valu;
  	      valu = dn_bufp->dfunc.lowaddr +
  		ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
! 	      SET_NAMESTRING (dn_bufp, &namestring, objfile);
  	      if (dn_bufp->dfunc.global)
  		add_psymbol_to_list (namestring, strlen (namestring),
  				     VAR_NAMESPACE, LOC_BLOCK,
--- 2056,2062 ----
  		texthigh = valu;
  	      valu = dn_bufp->dfunc.lowaddr +
  		ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
! 	      set_namestring (dn_bufp, &namestring, objfile);
  	      if (dn_bufp->dfunc.global)
  		add_psymbol_to_list (namestring, strlen (namestring),
  				     VAR_NAMESPACE, LOC_BLOCK,
*************** hpread_build_psymtabs (struct objfile *o
*** 2069,2075 ****
  		texthigh = valu;
  	      valu = dn_bufp->ddocfunc.lowaddr +
  		ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
! 	      SET_NAMESTRING (dn_bufp, &namestring, objfile);
  	      if (dn_bufp->ddocfunc.global)
  		add_psymbol_to_list (namestring, strlen (namestring),
  				     VAR_NAMESPACE, LOC_BLOCK,
--- 2077,2083 ----
  		texthigh = valu;
  	      valu = dn_bufp->ddocfunc.lowaddr +
  		ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
! 	      set_namestring (dn_bufp, &namestring, objfile);
  	      if (dn_bufp->ddocfunc.global)
  		add_psymbol_to_list (namestring, strlen (namestring),
  				     VAR_NAMESPACE, LOC_BLOCK,
*************** hpread_build_psymtabs (struct objfile *o
*** 2143,2149 ****
  		else
  		  storage = LOC_UNDEF;
  
! 		SET_NAMESTRING (dn_bufp, &namestring, objfile);
  		if (!pst)
  		  {
  		    pst = hpread_start_psymtab (objfile,
--- 2151,2157 ----
  		else
  		  storage = LOC_UNDEF;
  
! 		set_namestring (dn_bufp, &namestring, objfile);
  		if (!pst)
  		  {
  		    pst = hpread_start_psymtab (objfile,
*************** hpread_build_psymtabs (struct objfile *o
*** 2227,2233 ****
  	    case DNTT_TYPE_MEMENUM:
  	    case DNTT_TYPE_CONST:
  	      /* Constants and members of enumerated types.  */
! 	      SET_NAMESTRING (dn_bufp, &namestring, objfile);
  	      if (!pst)
  		{
  		  pst = hpread_start_psymtab (objfile,
--- 2235,2241 ----
  	    case DNTT_TYPE_MEMENUM:
  	    case DNTT_TYPE_CONST:
  	      /* Constants and members of enumerated types.  */
! 	      set_namestring (dn_bufp, &namestring, objfile);
  	      if (!pst)
  		{
  		  pst = hpread_start_psymtab (objfile,
*************** hpread_expand_symtab (struct objfile *ob
*** 2827,2834 ****
        if (dn_bufp->dblock.extension)
  	continue;
  
!       /* Yow!  We call SET_NAMESTRING on things without names!  */
!       SET_NAMESTRING (dn_bufp, &namestring, objfile);
  
        hpread_process_one_debug_symbol (dn_bufp, namestring, section_offsets,
  				       objfile, text_offset, text_size,
--- 2835,2842 ----
        if (dn_bufp->dblock.extension)
  	continue;
  
!       /* Yow!  We call set_namestring on things without names!  */
!       set_namestring (dn_bufp, &namestring, objfile);
  
        hpread_process_one_debug_symbol (dn_bufp, namestring, section_offsets,
  				       objfile, text_offset, text_size,

  reply	other threads:[~2003-01-12 11:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-11  9:32 Joel Brobecker
2003-01-11 17:48 ` Daniel Jacobowitz
2003-01-12 11:51   ` Joel Brobecker [this message]
2003-01-11 18:31 ` Andrew Cagney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030112115046.GP30359@gnat.com \
    --to=brobecker@gnat.com \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox