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.

Reviewed by:	dim
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D29352
This commit is contained in:
Jessica Clarke 2021-03-20 17:58:10 +00:00
parent ee7ffaa2e6
commit 839fdcfc0c

View File

@ -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.