18 #ifndef ABSL_DEBUGGING_INTERNAL_SYMBOLIZE_H_ 19 #define ABSL_DEBUGGING_INTERNAL_SYMBOLIZE_H_ 24 #ifdef ABSL_INTERNAL_HAVE_ELF_SYMBOLIZE 25 #error ABSL_INTERNAL_HAVE_ELF_SYMBOLIZE cannot be directly set 26 #elif defined(__ELF__) && defined(__GLIBC__) && !defined(__native_client__) && \ 27 !defined(__asmjs__) && !defined(__wasm__) 28 #define ABSL_INTERNAL_HAVE_ELF_SYMBOLIZE 1 36 namespace debugging_internal {
44 bool ForEachSection(
int fd,
45 const std::function<
bool(
const std::string&
name,
46 const ElfW(Shdr) &)>& callback);
50 bool GetSectionHeaderByName(
int fd,
const char *name,
size_t name_len,
56 #endif // ABSL_INTERNAL_HAVE_ELF_SYMBOLIZE 59 namespace debugging_internal {
108 const void* start,
const void*
end, uint64_t offset,
const char* filename);
117 const char** filename);
122 #endif // ABSL_DEBUGGING_INTERNAL_SYMBOLIZE_H_
int InstallSymbolDecorator(SymbolDecorator decorator, void *arg)
bool RegisterFileMappingHint(const void *start, const void *end, uint64_t offset, const char *filename)
bool RemoveAllSymbolDecorators(void)
void(*)(const SymbolDecoratorArgs *) SymbolDecorator
bool GetFileMappingHint(const void **start, const void **end, uint64_t *offset, const char **filename)
bool RemoveSymbolDecorator(int ticket)