diff options
-rw-r--r-- | lld/ELF/InputFiles.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index 3622dc2b8c3..e8ee5816498 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -148,7 +148,9 @@ template <class ELFT> static bool shouldMerge(const typename ELFT::Shdr &Sec) { if (Flags & SHF_WRITE) fatal("writable SHF_MERGE sections are not supported"); uintX_t EntSize = Sec.sh_entsize; - if (!EntSize || Sec.sh_size % EntSize) + if (!EntSize) + return false; + if (Sec.sh_size % EntSize) fatal("SHF_MERGE section size must be a multiple of sh_entsize"); // Don't try to merge if the aligment is larger than the sh_entsize and this |