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

--- Comment #19 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Faust <dfa...@gcc.gnu.org>:

https://gcc.gnu.org/g:70b303049e45c180236a4114f844311652bad002

commit r13-4709-g70b303049e45c180236a4114f844311652bad002
Author: David Faust <david.fa...@oracle.com>
Date:   Wed Dec 7 11:51:59 2022 -0800

    btf: correct generation for extern funcs [PR106773]

    The eBPF loader expects to find entries for functions declared as extern
    in the corresponding BTF_KIND_DATASEC record, but we were not generating
    these entries.

    This patch adds support for the 'extern' linkage of function types in
    BTF, and creates entries for for them BTF_KIND_DATASEC records as needed.

            PR target/106773

    gcc/

            * btfout.cc (get_section_name): New function.
            (btf_collect_datasec): Use it here. Process functions, marking them
            'extern' and generating DATASEC entries for them as appropriate.
Move
            creation of BTF_KIND_FUNC records to here...
            (btf_dtd_emit_preprocess_cb): ... from here.

    gcc/testsuite/

            * gcc.dg/debug/btf/btf-datasec-2.c: New test.
            * gcc.dg/debug/btf/btf-function-6.c: New test.

    include/

            * btf.h (enum btf_func_linkage): New.
            (struct btf_var_secinfo): Update comments with notes about extern
            functions.

Reply via email to