blob: 001af39625c579230090cc973ac108f29cc23edd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# Elf.cpp expects __ELF_NATIVE_CLASS to be defined at least for platforms
# besides FreeBSD-based ones, and so it defines FOLLY_ELF_NATIVE_CLASS with it.
# Without __ELF_NATIVE_CLASS (and apparently musl does not define it),
# FOLLY_ELF_NATIVE_CLASS is also not defined so what was supposed to be
# expanded to ELFCLASS32 or ELFCLASS64 ends up being
# ELFCLASSFOLLY_ELF_NATIVE_CLASS.
#
# Please refer: https://github.com/facebook/folly/issues/1478
#
# Closes: https://bugs.gentoo.org/835744
--- a/folly/experimental/symbolizer/Elf.cpp
+++ b/folly/experimental/symbolizer/Elf.cpp
@@ -39,12 +39,10 @@
#if defined(__ELF_NATIVE_CLASS)
#define FOLLY_ELF_NATIVE_CLASS __ELF_NATIVE_CLASS
-#elif defined(__FreeBSD__)
-#if defined(__LP64__)
+#elif defined(__LP64__)
#define FOLLY_ELF_NATIVE_CLASS 64
#else
#define FOLLY_ELF_NATIVE_CLASS 32
-#endif
#endif // __ELF_NATIVE_CLASS
namespace folly {
--- a/folly/experimental/symbolizer/Elf.h
+++ b/folly/experimental/symbolizer/Elf.h
@@ -24,6 +24,7 @@
#include <initializer_list>
#include <stdexcept>
#include <system_error>
+#include <sys/types.h>
#include <folly/Conv.h>
#include <folly/Likely.h>
|