public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "ibhagat at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug debug/112768] New: btf: fix asm comment output for BTF_KIND_FUNC* kinds
Date: Wed, 29 Nov 2023 19:18:41 +0000	[thread overview]
Message-ID: <bug-112768-4@http.gcc.gnu.org/bugzilla/> (raw)

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112768

            Bug ID: 112768
           Summary: btf: fix asm comment output for BTF_KIND_FUNC* kinds
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ibhagat at gcc dot gnu.org
  Target Milestone: ---

The BTF type of kind BTF_KIND_FUNC_PROTO is always anonymous.  The
machinery, via btf_collect_datasec (), resets the ctti_name to 0 to
reflect that.  The name string in the (ctf) type contained in the CTF
container is, however, not updated.  The latter is used to emit the type
name in the asm comment output.

E.g., for gcc/testsuite/gcc.dg/debug/btf/btf-function-6.c:

extern int extfunc(int a, int b);

int foo (int x) {

  int y = extfunc (x, x+1);

  return y;
}

a user may see the following in the comments in the -dA output:

    .long   0       # TYPE 2 BTF_KIND_FUNC_PROTO 'extfunc'
    .long   0xd000002       # btt_info: kind=13, kflag=0, vlen=2
    .long   0x1     # btt_type: (BTF_KIND_INT 'int')
    .long   0       # farg_name
    .long   0x1     # farg_type: (BTF_KIND_INT 'int')
    .long   0       # farg_name
    .long   0x1     # farg_type: (BTF_KIND_INT 'int')
    .long   0       # TYPE 3 BTF_KIND_FUNC_PROTO 'foo'
    .long   0xd000001       # btt_info: kind=13, kflag=0, vlen=1
    .long   0x1     # btt_type: (BTF_KIND_INT 'int')
    .long   0x68    # farg_name
    .long   0x1     # farg_type: (BTF_KIND_INT 'int')
    .long   0x5     # TYPE 4 BTF_KIND_FUNC '(null)'
    .long   0xc000002       # btt_info: kind=12, kflag=0, linkage=2
    .long   0x2     # btt_type: (BTF_KIND_FUNC_PROTO 'extfunc')
    .long   0xd     # TYPE 5 BTF_KIND_FUNC '(null)'
    .long   0xc000001       # btt_info: kind=12, kflag=0, linkage=1
    .long   0x3     # btt_type: (BTF_KIND_FUNC_PROTO 'foo')

The above may cause confusion to the reader:
- Types of kind BTF_KIND_FUNC_PROTO are displayed with a name.
- BTF_KIND_FUNC appears with 'null'

It will be ideal to display:
- BTF_KIND_FUNC_PROTO as anonymous
- BTF_KIND_FUNC with the name of the function

             reply	other threads:[~2023-11-29 19:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-29 19:18 ibhagat at gcc dot gnu.org [this message]
2023-11-29 19:20 ` [Bug debug/112768] " ibhagat at gcc dot gnu.org
2023-12-04 10:01 ` cvs-commit at gcc dot gnu.org
2024-03-02  0:28 ` ibhagat at gcc dot gnu.org

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=bug-112768-4@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).