xref: /kernel/linux/linux-6.6/tools/build/feature/test-libunwind-x86.c
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-6.6/tools/build/feature/
162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#include <libunwind-x86.h>
362306a36Sopenharmony_ci#include <stdlib.h>
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciextern int UNW_OBJ(dwarf_search_unwind_table) (unw_addr_space_t as,
662306a36Sopenharmony_ci					       unw_word_t ip,
762306a36Sopenharmony_ci					       unw_dyn_info_t *di,
862306a36Sopenharmony_ci					       unw_proc_info_t *pi,
962306a36Sopenharmony_ci					       int need_unwind_info, void *arg);
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#define dwarf_search_unwind_table UNW_OBJ(dwarf_search_unwind_table)
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cistatic unw_accessors_t accessors;
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciint main(void)
1762306a36Sopenharmony_ci{
1862306a36Sopenharmony_ci	unw_addr_space_t addr_space;
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	addr_space = unw_create_addr_space(&accessors, 0);
2162306a36Sopenharmony_ci	if (addr_space)
2262306a36Sopenharmony_ci		return 0;
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	unw_init_remote(NULL, addr_space, NULL);
2562306a36Sopenharmony_ci	dwarf_search_unwind_table(addr_space, 0, NULL, NULL, 0, NULL);
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	return 0;
2862306a36Sopenharmony_ci}
29

Indexes created Thu Nov 07 10:32:03 CST 2024