gcc/include
David Faust 70b303049e 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.
2022-12-14 10:20:53 -08:00
..
2022-01-03 10:42:10 +01:00
2022-12-08 00:17:45 +00:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-05-10 16:04:30 +02:00
2020-12-09 11:10:40 +00:00
2020-12-09 11:10:40 +00:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00