https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773
--- Comment #17 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:2bce22e88e1c8486a0f2d42311506a8d3da20fb7 commit r13-4707-g2bce22e88e1c8486a0f2d42311506a8d3da20fb7 Author: David Faust <david.fa...@oracle.com> Date: Wed Dec 7 11:44:28 2022 -0800 btf: add 'extern' linkage for variables [PR106773] Add support for the 'extern' linkage value for BTF_KIND_VAR records, which is used for variables declared as extern in the source file. This also fixes a bug with BTF generation for extern variables which have both a non-defining declaration and a defining declaration in the same CU. PR target/106773 gcc/ * btfout.cc (btf_collect_datasec): Mark extern variables as such. (btf_dvd_emit_preprocess_cb): Skip non-defining extern variable decl if there is a defining decl for the same variable. (btf_asm_varent): Accomodate 'extern' linkage. gcc/testsuite/ * gcc.dg/debug/btf/btf-variables-4.c: New test. * gcc.dg/debug/btf/btf-variables-5.c: New test. include/ * btf.h (enum btf_var_linkage): New. (struct btf_var): Update comment to note 'extern' linkage.