2020
2121#include < map>
2222#include < memory>
23+ #include < mutex>
2324#include < string>
2425#include < utility>
2526#include < vector>
@@ -493,15 +494,15 @@ class UProbeManager {
493494 *
494495 * @param binary The path to the binary on which to deploy Go HTTP2 probes.
495496 * @param elf_reader ELF reader for the binary.
496- * @param offset_locator DWARF reader for the binary.
497+ * @param dwarf_reader DWARF reader for the binary.
497498 * @param pids The list of PIDs that are new instances of the binary. Used to populate symbol
498499 * addresses.
499500 * @return The number of uprobes deployed, or error. It is not considered an error if the binary
500501 * is not a Go binary or doesn't use a Go HTTP2 library; instead the return value will be
501502 * zero.
502503 */
503504 StatusOr<int > AttachGoHTTP2UProbes (const std::string& binary, obj_tools::ElfReader* elf_reader,
504- GoOffsetLocator* offset_locator ,
505+ obj_tools::DwarfReader* dwarf_reader ,
505506 const std::vector<int32_t >& pids);
506507
507508 /* *
@@ -510,14 +511,14 @@ class UProbeManager {
510511 *
511512 * @param binary The path to the binary on which to deploy Go HTTP2 probes.
512513 * @param elf_reader ELF reader for the binary.
513- * @param offset_locator DWARF reader for the binary.
514+ * @param dwarf_reader DWARF reader for the binary.
514515 * @param pids The list of PIDs that are new instances of the binary. Used to populate symbol
515516 * addresses.
516517 * @return The number of uprobes deployed, or error. It is not an error if the binary
517518 * is not a Go binary or doesn't use Go TLS; instead the return value will be zero.
518519 */
519520 StatusOr<int > AttachGoTLSUProbes (const std::string& binary, obj_tools::ElfReader* elf_reader,
520- GoOffsetLocator* offset_locator ,
521+ obj_tools::DwarfReader* dwarf_reader ,
521522 const std::vector<int32_t >& new_pids);
522523
523524 /* *
@@ -579,11 +580,14 @@ class UProbeManager {
579580
580581 Status UpdateOpenSSLSymAddrs (px::stirling::obj_tools::RawFptrManager* fptrManager,
581582 std::filesystem::path container_lib, uint32_t pid);
582- Status UpdateGoCommonSymAddrs (obj_tools::ElfReader* elf_reader, GoOffsetLocator* offset_locator,
583+ Status UpdateGoCommonSymAddrs (obj_tools::ElfReader* elf_reader,
584+ obj_tools::DwarfReader* dwarf_reader,
583585 const std::vector<int32_t >& pids);
584- Status UpdateGoHTTP2SymAddrs (obj_tools::ElfReader* elf_reader, GoOffsetLocator* offset_locator,
586+ Status UpdateGoHTTP2SymAddrs (obj_tools::ElfReader* elf_reader,
587+ obj_tools::DwarfReader* dwarf_reader,
585588 const std::vector<int32_t >& pids);
586- Status UpdateGoTLSSymAddrs (GoOffsetLocator* offset_locator, const std::vector<int32_t >& pids);
589+ Status UpdateGoTLSSymAddrs (obj_tools::ElfReader* elf_reader, obj_tools::DwarfReader* dwarf_reader,
590+ const std::vector<int32_t >& pids);
587591 Status UpdateNodeTLSWrapSymAddrs (int32_t pid, const std::filesystem::path& node_exe,
588592 const SemVer& ver);
589593
0 commit comments