LIBS: updated backward

master
Martin Gerhardy 2021-12-12 02:26:19 +01:00
parent fe1d3cf657
commit 8cea96ed3f
1 changed files with 18 additions and 11 deletions

View File

@ -211,6 +211,12 @@
#else
#include <link.h>
#endif
#if defined(__ppc__) || defined(__powerpc) || defined(__powerpc__) || \
defined(__POWERPC__)
// Linux kernel header required for the struct pt_regs definition
// to access the NIP (Next Instruction Pointer) register value
#include <asm/ptrace.h>
#endif
#include <signal.h>
#include <sys/stat.h>
#include <syscall.h>
@ -517,7 +523,7 @@ template <typename T> struct default_delete {
void operator()(T &ptr) const { delete ptr; }
};
template <typename T, typename Deleter = deleter<void, void *, &::free>>
template <typename T, typename Deleter = deleter<void, void *, &::free> >
class handle {
struct dummy;
T _val;
@ -1224,7 +1230,7 @@ public:
}
template <class ST> void load_stacktrace(ST &st) {
load_addresses(st.begin(), (int)st.size());
load_addresses(st.begin(), static_cast<int>(st.size()));
}
virtual ResolvedTrace resolve(ResolvedTrace t) { return t; }
@ -1549,7 +1555,7 @@ private:
bool _bfd_loaded;
typedef details::handle<bfd *,
details::deleter<bfd_boolean, bfd *, &bfd_close>>
details::deleter<bfd_boolean, bfd *, &bfd_close> >
bfd_handle_t;
typedef details::handle<asymbol **> bfd_symtab_t;
@ -1921,9 +1927,9 @@ public:
}
private:
typedef details::handle<Dwfl *, details::deleter<void, Dwfl *, &dwfl_end>>
typedef details::handle<Dwfl *, details::deleter<void, Dwfl *, &dwfl_end> >
dwfl_handle_t;
details::handle<Dwfl_Callbacks *, details::default_delete<Dwfl_Callbacks *>>
details::handle<Dwfl_Callbacks *, details::default_delete<Dwfl_Callbacks *> >
_dwfl_cb;
dwfl_handle_t _dwfl_handle;
bool _dwfl_handle_initialized;
@ -2245,14 +2251,14 @@ public:
private:
bool _dwarf_loaded;
typedef details::handle<int, details::deleter<int, int, &::close>>
typedef details::handle<int, details::deleter<int, int, &::close> >
dwarf_file_t;
typedef details::handle<Elf *, details::deleter<int, Elf *, &elf_end>>
typedef details::handle<Elf *, details::deleter<int, Elf *, &elf_end> >
dwarf_elf_t;
typedef details::handle<Dwarf_Debug,
details::deleter<int, Dwarf_Debug, &close_dwarf>>
details::deleter<int, Dwarf_Debug, &close_dwarf> >
dwarf_handle_t;
typedef std::map<Dwarf_Addr, int> die_linemap_t;
@ -3686,7 +3692,7 @@ class TraceResolver : public TraceResolverImpl<system_tag::current_tag> {};
class SourceFile {
public:
typedef std::vector<std::pair<unsigned, std::string>> lines_t;
typedef std::vector<std::pair<unsigned, std::string> > lines_t;
SourceFile() {}
SourceFile(const std::string &path) {
@ -3798,7 +3804,7 @@ public:
#endif
private:
details::handle<std::ifstream *, details::default_delete<std::ifstream *>>
details::handle<std::ifstream *, details::default_delete<std::ifstream *> >
_file;
std::vector<std::string> get_paths_from_env_variable_impl() {
@ -4245,7 +4251,8 @@ public:
printer.address = true;
printer.print(st, stderr);
#if _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
#if (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 700) || \
(defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200809L)
psiginfo(info, nullptr);
#else
(void)info;