diff --git a/absl/debugging/internal/elf_mem_image.h b/absl/debugging/internal/elf_mem_image.h index 4d31a474cfd..f24aa26f2ac 100644 --- a/absl/debugging/internal/elf_mem_image.h +++ b/absl/debugging/internal/elf_mem_image.h @@ -42,10 +42,20 @@ #ifdef ABSL_HAVE_ELF_MEM_IMAGE +#if __has_include() #include // for ElfW +#else +#include +#endif -#if defined(__FreeBSD__) && !defined(ElfW) -#define ElfW(x) __ElfN(x) +#ifndef ElfW +#if defined(__FreeBSD__) +#define ElfW(type) __ElfN(type) +#elif __SIZEOF_POINTER__ == 8 +#define ElfW(type) Elf64_##type +#else +#define ElfW(type) Elf32_##type +#endif #endif namespace absl {