summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/ELF/Writer.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 3187799f3e3..30e4079c957 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -704,11 +704,9 @@ template <class ELFT> int Writer<ELFT>::getPhdrsNum() const {
template <class ELFT> void Writer<ELFT>::writeHeader() {
uint8_t *Buf = Buffer->getBufferStart();
+ memcpy(Buf, "\177ELF", 4);
+
auto *EHdr = reinterpret_cast<Elf_Ehdr *>(Buf);
- EHdr->e_ident[EI_MAG0] = 0x7F;
- EHdr->e_ident[EI_MAG1] = 'E';
- EHdr->e_ident[EI_MAG2] = 'L';
- EHdr->e_ident[EI_MAG3] = 'F';
EHdr->e_ident[EI_CLASS] = ELFT::Is64Bits ? ELFCLASS64 : ELFCLASS32;
EHdr->e_ident[EI_DATA] = ELFT::TargetEndianness == llvm::support::little
? ELFDATA2LSB
OpenPOWER on IntegriCloud