[lld] r270324 - Swap the arguments of writeAlignedCieOrFde. NFC.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Sat May 21 11:10:19 PDT 2016


Author: ruiu
Date: Sat May 21 13:10:13 2016
New Revision: 270324

URL: http://llvm.org/viewvc/llvm-project?rev=270324&view=rev
Log:
Swap the arguments of writeAlignedCieOrFde. NFC.

Most functions take destination buffers as the first arguments
just like memcpy, so this order is easier to read.
Also simplified the function.

Modified:
    lld/trunk/ELF/OutputSections.cpp

Modified: lld/trunk/ELF/OutputSections.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/OutputSections.cpp?rev=270324&r1=270323&r2=270324&view=diff
==============================================================================
--- lld/trunk/ELF/OutputSections.cpp (original)
+++ lld/trunk/ELF/OutputSections.cpp Sat May 21 13:10:13 2016
@@ -1205,12 +1205,12 @@ void EHOutputSection<ELFT>::addSection(I
 }
 
 template <class ELFT>
-static void writeAlignedCieOrFde(StringRef Data, uint8_t *Buf) {
-  typedef typename ELFT::uint uintX_t;
+static void writeCieFde(uint8_t *Buf, StringRef S) {
+  memcpy(Buf, S.data(), S.size());
+
+  // Fix the size field. -4 since size does not include the size field itself.
   const endianness E = ELFT::TargetEndianness;
-  uint64_t Len = alignTo(Data.size(), sizeof(uintX_t));
-  write32<E>(Buf, Len - 4);
-  memcpy(Buf + 4, Data.data() + 4, Data.size() - 4);
+  write32<E>(Buf, alignTo(S.size(), sizeof(typename ELFT::uint)) - 4);
 }
 
 template <class ELFT> void EHOutputSection<ELFT>::finalize() {
@@ -1234,11 +1234,11 @@ template <class ELFT> void EHOutputSecti
   const endianness E = ELFT::TargetEndianness;
   for (const Cie<ELFT> &C : Cies) {
     size_t CieOffset = C.S->Offsets[C.Index].second;
-    writeAlignedCieOrFde<ELFT>(C.data(), Buf + CieOffset);
+    writeCieFde<ELFT>(Buf + CieOffset, C.data());
 
     for (const EHRegion<ELFT> &F : C.Fdes) {
       size_t Offset = F.S->Offsets[F.Index].second;
-      writeAlignedCieOrFde<ELFT>(F.data(), Buf + Offset);
+      writeCieFde<ELFT>(Buf + Offset, F.data());
       write32<E>(Buf + Offset + 4, Offset + 4 - CieOffset); // Pointer
 
       Out<ELFT>::EhFrameHdr->addFde(C.FdeEncoding, Offset, Buf + Offset + 8);




More information about the llvm-commits mailing list