[RFA] Stabs: Ignore N_BNSYM/N_ENSYM entry types

Message ID 000301cfde29$fdfe98a0$f9fbc9e0$@muller@ics-cnrs.unistra.fr
State New, archived
Headers

Commit Message

Pierre Muller Oct. 2, 2014, 10:16 a.m. UTC
  Trying to debug gdb with itself,
with "set complaints 1000",
I stumbled on the following complaints
Unknown symbol type 0x2e
or
Unknown symbol type 0x4e

It appears that those correspond to N_BNSYM and N_ENSYM,
which are MacOS extensions of stabs debugging format.
But these extensions have been used inside gcc probably
for a while already, see:
https://gcc.gnu.org/ml/gcc/2004-08/msg00157.html

As the only purpose of these entries is to allow for removal
of stabs information if the function is removed,
it can be safely ignored by GDB.

This patch simply adds those two entry types to the list
of ignored entry type in read_dbx_symtab function.

Is this OK?

Pierre Muller


2014-10-02  Pierre Muller  <muller@sourceware.org>

        * gdb/dbxread.c (read_dbx_symtab): Also ignore N_BNSYM/N_ENSYM.
  

Comments

Joel Brobecker Oct. 2, 2014, 6:18 p.m. UTC | #1
> 2014-10-02  Pierre Muller  <muller@sourceware.org>
> 
>         * gdb/dbxread.c (read_dbx_symtab): Also ignore N_BNSYM/N_ENSYM.
> 

Looks good to me, Pierre. Go ahead and push.

> 
> diff --git a/gdb/dbxread.c b/gdb/dbxread.c
> index fd7910c..2c3be20 100644
> --- a/gdb/dbxread.c
> +++ b/gdb/dbxread.c
> @@ -2120,6 +2120,8 @@ read_dbx_symtab (struct objfile *objfile)
>         case N_SLINE:
>         case N_RSYM:
>         case N_PSYM:
> +       case N_BNSYM:
> +       case N_ENSYM:
>         case N_LBRAC:
>         case N_NSYMS:           /* Ultrix 4.0: symbol count */
>         case N_DEFD:            /* GNU Modula-2 */
  
Pierre Muller Oct. 3, 2014, 7:35 a.m. UTC | #2
Hi Joel,

thanks for the approval.

  This is my first push since we
switched to git...
  And I must confess that I did not read
the whole thread about commit log messages...

So in:
https://sourceware.org/ml/gdb-cvs/2014-10/msg00015.html
  
I've put essentially the email of my RFA,
with just two modifications:

  I removed the gdb/ prefix in the ChangeLog
and updated the date to 2014-10-03.

  Please tell me if this is OK, or
what I should have done exactly.

Pierre Muller
  
Joel Brobecker Oct. 3, 2014, 1:40 p.m. UTC | #3
>   This is my first push since we switched to git...  And I must
>   confess that I did not read the whole thread about commit log
>   messages...

The wiki tries to describe a bit how revision logs should be formatted.
See Item #13 of https://sourceware.org/gdb/wiki/ContributionChecklist

> So in:
> https://sourceware.org/ml/gdb-cvs/2014-10/msg00015.html
>   
> I've put essentially the email of my RFA, with just two modifications:
> 
>   I removed the gdb/ prefix in the ChangeLog and updated the date to
>   2014-10-03.

I tend to work the other way around: I put in the commit's revision
log the explanation of the bug following the format described in
the wiki, and that use that as the basis for the email sent to
gdb-patches. In fact, I use git to do the email-sending for me
(git send-email), and the only touch-ups I usually do is just to
add "Hello" and "Thank you/OK to commit" (etc).

So, when the patch is OK to go in, all that is needed is to push.
I don't need to re-write the revision log.
  

Patch

diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index fd7910c..2c3be20 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -2120,6 +2120,8 @@  read_dbx_symtab (struct objfile *objfile)
        case N_SLINE:
        case N_RSYM:
        case N_PSYM:
+       case N_BNSYM:
+       case N_ENSYM:
        case N_LBRAC:
        case N_NSYMS:           /* Ultrix 4.0: symbol count */
        case N_DEFD:            /* GNU Modula-2 */