From 8efb6db7b9a20a97998f1c6fdf412f783aee7bc4 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 6 Aug 2016 20:32:47 +0200 Subject: [PATCH] elf.h: rename ELF_MAGIC to ELFMAG - This is how it is named in other versions of elf.h (Linux, glibc, possibly more) - ELF_MAGIC is used by libelf for the same thing, and the defines conflicts, breaking libelf build on Haiku. --- headers/os/kernel/elf.h | 2 +- src/kits/debug/Image.cpp | 2 +- src/kits/debugger/elf/ElfFile.cpp | 2 +- src/libs/libunwind/elfxx.h | 3 --- src/system/boot/loader/elf.cpp | 2 +- src/system/kernel/debug/core_dump.cpp | 8 ++++---- src/system/kernel/elf.cpp | 2 +- src/system/runtime_loader/elf_load_image.cpp | 2 +- src/system/runtime_loader/runtime_loader.cpp | 2 +- 9 files changed, 11 insertions(+), 14 deletions(-) diff --git a/headers/os/kernel/elf.h b/headers/os/kernel/elf.h index 9445673dec..7468f28160 100644 --- a/headers/os/kernel/elf.h +++ b/headers/os/kernel/elf.h @@ -75,7 +75,7 @@ typedef struct { #endif } Elf64_Ehdr; -#define ELF_MAGIC "\x7f""ELF" +#define ELFMAG "\x7f""ELF" /* e_ident[] indices */ #define EI_MAG0 0 diff --git a/src/kits/debug/Image.cpp b/src/kits/debug/Image.cpp index 239820ffba..1e9973ec98 100644 --- a/src/kits/debug/Image.cpp +++ b/src/kits/debug/Image.cpp @@ -277,7 +277,7 @@ ImageFile::_LoadFile(const char* path, addr_t* _textAddress, size_t* _textSize, // examine the elf header elf_ehdr* elfHeader = (elf_ehdr*)fMappedFile; - if (memcmp(elfHeader->e_ident, ELF_MAGIC, 4) != 0) + if (memcmp(elfHeader->e_ident, ELFMAG, 4) != 0) return B_NOT_AN_EXECUTABLE; if (elfHeader->e_ident[4] != ELF_CLASS) diff --git a/src/kits/debugger/elf/ElfFile.cpp b/src/kits/debugger/elf/ElfFile.cpp index 72f2b98b87..10059cebea 100644 --- a/src/kits/debugger/elf/ElfFile.cpp +++ b/src/kits/debugger/elf/ElfFile.cpp @@ -224,7 +224,7 @@ ElfFile::Init(const char* fileName) return bytesRead < 0 ? errno : B_ERROR; // magic - if (!memcmp(elfIdent, ELF_MAGIC, 4) == 0) + if (!memcmp(elfIdent, ELFMAG, 4) == 0) return B_ERROR; // endianess diff --git a/src/libs/libunwind/elfxx.h b/src/libs/libunwind/elfxx.h index 1315a812bd..285f13a61c 100644 --- a/src/libs/libunwind/elfxx.h +++ b/src/libs/libunwind/elfxx.h @@ -42,9 +42,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ # define elf_w(x) _Uelf64_##x #endif -#ifdef __HAIKU__ -# define ELFMAG ELF_MAGIC -#endif #ifndef SELFMAG # define SELFMAG 4 #endif diff --git a/src/system/boot/loader/elf.cpp b/src/system/boot/loader/elf.cpp index ec685a4fe8..579ae1173f 100644 --- a/src/system/boot/loader/elf.cpp +++ b/src/system/boot/loader/elf.cpp @@ -161,7 +161,7 @@ ELFLoader::Create(int fd, preloaded_image** _image) const EhdrType& elfHeader = image->elf_header; - if (memcmp(elfHeader.e_ident, ELF_MAGIC, 4) != 0 + if (memcmp(elfHeader.e_ident, ELFMAG, 4) != 0 || elfHeader.e_ident[4] != Class::kIdentClass || elfHeader.e_phoff == 0 || !elfHeader.IsHostEndian() diff --git a/src/system/kernel/debug/core_dump.cpp b/src/system/kernel/debug/core_dump.cpp index 088294ab1f..664d6cba9f 100644 --- a/src/system/kernel/debug/core_dump.cpp +++ b/src/system/kernel/debug/core_dump.cpp @@ -1093,10 +1093,10 @@ private: memset(&header, 0, sizeof(header)); // e_ident - header.e_ident[EI_MAG0] = ELF_MAGIC[0]; - header.e_ident[EI_MAG1] = ELF_MAGIC[1]; - header.e_ident[EI_MAG2] = ELF_MAGIC[2]; - header.e_ident[EI_MAG3] = ELF_MAGIC[3]; + header.e_ident[EI_MAG0] = ELFMAG[0]; + header.e_ident[EI_MAG1] = ELFMAG[1]; + header.e_ident[EI_MAG2] = ELFMAG[2]; + header.e_ident[EI_MAG3] = ELFMAG[3]; #ifdef B_HAIKU_64_BIT header.e_ident[EI_CLASS] = ELFCLASS64; #else diff --git a/src/system/kernel/elf.cpp b/src/system/kernel/elf.cpp index 5982025435..77300068fe 100644 --- a/src/system/kernel/elf.cpp +++ b/src/system/kernel/elf.cpp @@ -1107,7 +1107,7 @@ elf_relocate(struct elf_image_info* image, struct elf_image_info* resolveImage) static int verify_eheader(elf_ehdr *elfHeader) { - if (memcmp(elfHeader->e_ident, ELF_MAGIC, 4) != 0) + if (memcmp(elfHeader->e_ident, ELFMAG, 4) != 0) return B_NOT_AN_EXECUTABLE; if (elfHeader->e_ident[4] != ELF_CLASS) diff --git a/src/system/runtime_loader/elf_load_image.cpp b/src/system/runtime_loader/elf_load_image.cpp index c6bcbbff41..73ffad1453 100644 --- a/src/system/runtime_loader/elf_load_image.cpp +++ b/src/system/runtime_loader/elf_load_image.cpp @@ -375,7 +375,7 @@ status_t parse_elf_header(elf_ehdr* eheader, int32* _pheaderSize, int32* _sheaderSize) { - if (memcmp(eheader->e_ident, ELF_MAGIC, 4) != 0) + if (memcmp(eheader->e_ident, ELFMAG, 4) != 0) return B_NOT_AN_EXECUTABLE; if (eheader->e_ident[4] != ELF_CLASS) diff --git a/src/system/runtime_loader/runtime_loader.cpp b/src/system/runtime_loader/runtime_loader.cpp index fa507eba7e..6b31845419 100644 --- a/src/system/runtime_loader/runtime_loader.cpp +++ b/src/system/runtime_loader/runtime_loader.cpp @@ -629,7 +629,7 @@ get_executable_architecture(int fd, const char** _architecture) return B_NOT_AN_EXECUTABLE; // check whether this is indeed an ELF file - if (memcmp(elfHeader.e_ident, ELF_MAGIC, 4) != 0) + if (memcmp(elfHeader.e_ident, ELFMAG, 4) != 0) return B_NOT_AN_EXECUTABLE; // check the architecture