[Bug debug/112768] New: btf: fix asm comment output for BTF_KIND_FUNC* kinds
ibhagat at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Nov 29 19:18:41 GMT 2023
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
More information about the Gcc-bugs
mailing list