]> sourceware.org Git - systemtap.git/blob - setupdwfl.h
Update nfsderrno.stp to work with Linux 6.10
[systemtap.git] / setupdwfl.h
1 // Setup routines for creating fully populated DWFLs. Used in pass 2 and 3.
2 // Copyright (C) 2009-2014 Red Hat, Inc.
3 //
4 // This file is part of systemtap, and is free software. You can
5 // redistribute it and/or modify it under the terms of the GNU General
6 // Public License (GPL); either version 2, or (at your option) any
7 // later version.
8 //
9 #ifndef SETUP_DWFLPP_H
10 #define SETUP_DWFLPP_H
11
12 #ifndef NT_GNU_BUILD_ID
13 #define NT_GNU_BUILD_ID 3
14 #endif
15
16 #include "config.h"
17 #include "session.h"
18
19 #include <set>
20 #include <string>
21 #include <vector>
22
23 extern "C" {
24 #include <elfutils/libdwfl.h>
25 }
26
27 std::string modname_from_path(const std::string &path);
28
29 Dwfl *setup_dwfl_kernel(const std::string &name,
30 unsigned *found,
31 systemtap_session &s);
32 Dwfl *setup_dwfl_kernel(const std::set<std::string> &names,
33 unsigned *found,
34 systemtap_session &s);
35
36 Dwfl *setup_dwfl_user(const std::string &name);
37 Dwfl *setup_dwfl_user(std::vector<std::string>::const_iterator &begin,
38 const std::vector<std::string>::const_iterator &end,
39 bool all_needed, systemtap_session &s);
40
41 // user-space files must be full paths and not end in .ko
42 bool is_user_module(const std::string &m);
43
44 int internal_find_debuginfo (Dwfl_Module *mod,
45 void **userdata __attribute__ ((unused)),
46 const char *modname __attribute__ ((unused)),
47 GElf_Addr base __attribute__ ((unused)),
48 const char *file_name,
49 const char *debuglink_file,
50 GElf_Word debuglink_crc,
51 char **debuginfo_file_name);
52 int execute_abrt_action_install_debuginfo_to_abrt_cache (std::string hex);
53 std::string get_kernel_build_id (systemtap_session &s);
54 int download_kernel_debuginfo (systemtap_session &s, std::string hex);
55 void debuginfo_path_insert_sysroot(std::string sysroot);
56
57 #endif
This page took 0.03683 seconds and 5 git commands to generate.