Improve comments.
authorRui Ueyama <ruiu@google.com>
Fri, 7 Oct 2016 19:54:57 +0000 (19:54 +0000)
committerRui Ueyama <ruiu@google.com>
Fri, 7 Oct 2016 19:54:57 +0000 (19:54 +0000)
Also use uint64_t instead of uintX_t so that you don't have to
think about two different cases to verify that the code is correct.

llvm-svn: 283585

lld/ELF/InputSection.cpp

index f0d978b..f046b4c 100644 (file)
@@ -48,11 +48,14 @@ InputSectionBase<ELFT>::InputSectionBase(elf::ObjectFile<ELFT> *File,
                        Hdr->sh_flags & SHF_COMPRESSED, !Config->GcSections),
       Header(Hdr), File(File), Repl(this) {
   // The ELF spec states that a value of 0 means the section has
-  // no alignment constraits. Also we reject object files having insanely large
-  // alignment requirements and may want to relax this limitation in the future.
-  uintX_t V = std::max<uintX_t>(Header->sh_addralign, 1);
+  // no alignment constraits.
+  uint64_t V = std::max<uint64_t>(Header->sh_addralign, 1);
   if (!isPowerOf2_64(V))
     fatal(getFilename(File) + ": section sh_addralign is not a power of 2");
+
+  // We reject object files having insanely large alignments even though
+  // they are allowed by the spec. I think 4GB is a reasonable limitation.
+  // We might want to relax this in the future.
   if (V > UINT32_MAX)
     fatal(getFilename(File) + ": section sh_addralign is too large");
   Alignment = V;