aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@FreeBSD.org>2021-03-20 17:58:10 +0000
committerJessica Clarke <jrtc27@FreeBSD.org>2021-03-27 02:10:29 +0000
commita20427cc039191ec0488873cdcee16604f5a8c7c (patch)
tree067bd04bc6bdc7e0b36573724a1b49261a703d6d
parent5a9fe096f14c8e7630961b0284c55a60491fd217 (diff)
downloadsrc-a20427cc039191ec0488873cdcee16604f5a8c7c.tar.gz
src-a20427cc039191ec0488873cdcee16604f5a8c7c.zip
elftoolchain: Support building on Arm-based Macs
Currently macOS and DragonFlyBSD get their own special case and only handle x86. Since all the FreeBSD cases should be general enough for macOS and DragonFlyBSD (and the x86 ones are identical to the existing ones) we can just delete the special cases and reuse the FreeBSD ones. Note that upstream has since removed all the architecture-specific checks in this file, with the only code relevant to us being an endianness check that uses the generic compiler-provided macros. Thus this patch will not be upstreamed, and will be dropped in a future vendor import. (cherry picked from commit 839fdcfc0c1dba34f728813d9756515ad82ff58a)
-rw-r--r--contrib/elftoolchain/libelf/_libelf_config.h22
1 files changed, 4 insertions, 18 deletions
diff --git a/contrib/elftoolchain/libelf/_libelf_config.h b/contrib/elftoolchain/libelf/_libelf_config.h
index 05869757f663..0f16f3aefde5 100644
--- a/contrib/elftoolchain/libelf/_libelf_config.h
+++ b/contrib/elftoolchain/libelf/_libelf_config.h
@@ -26,25 +26,11 @@
* $Id: _libelf_config.h 3764 2019-06-28 21:44:46Z emaste $
*/
-#if defined(__APPLE__) || defined(__DragonFly__)
-
-#if defined(__amd64__)
-#define LIBELF_ARCH EM_X86_64
-#define LIBELF_BYTEORDER ELFDATA2LSB
-#define LIBELF_CLASS ELFCLASS64
-#elif defined(__i386__)
-#define LIBELF_ARCH EM_386
-#define LIBELF_BYTEORDER ELFDATA2LSB
-#define LIBELF_CLASS ELFCLASS32
-#endif
-
-#endif /* __DragonFly__ */
-
-#ifdef __FreeBSD__
+#if defined(__APPLE__) || defined(__DragonFly__) || defined(__FreeBSD__)
/*
* Define LIBELF_{ARCH,BYTEORDER,CLASS} based on the machine architecture.
- * See also: <machine/elf.h>.
+ * See also: <machine/elf.h> on FreeBSD.
*/
#if defined(__amd64__)
@@ -126,9 +112,9 @@
#define LIBELF_CLASS ELFCLASS64
#else
-#error Unknown FreeBSD architecture.
+#error Unknown architecture.
#endif
-#endif /* __FreeBSD__ */
+#endif /* defined(__APPLE__) || defined(__DragonFly__) || defined(__FreeBSD__) */
/*
* Definitions for Minix3.