[lld] r335743 - [ELF] Rename RF_PROGBITS_NOT_EXEC_OR_WRITE to RF_RODATA

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 27 08:56:32 PDT 2018


Author: maskray
Date: Wed Jun 27 08:56:32 2018
New Revision: 335743

URL: http://llvm.org/viewvc/llvm-project?rev=335743&view=rev
Log:
[ELF] Rename RF_PROGBITS_NOT_EXEC_OR_WRITE to RF_RODATA

Post commit review at D48406

Modified:
    lld/trunk/ELF/Writer.cpp

Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=335743&r1=335742&r2=335743&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Wed Jun 27 08:56:32 2018
@@ -701,7 +701,7 @@ enum RankFlags {
   RF_WRITE = 1 << 15,
   RF_EXEC_WRITE = 1 << 14,
   RF_EXEC = 1 << 13,
-  RF_PROGBITS_NOT_EXEC_OR_WRITE = 1 << 12,
+  RF_RODATA = 1 << 12,
   RF_NON_TLS_BSS = 1 << 11,
   RF_NON_TLS_BSS_RO = 1 << 10,
   RF_NOT_TLS = 1 << 9,
@@ -755,15 +755,14 @@ static unsigned getSectionRank(const Out
       Rank |= RF_EXEC_WRITE;
     else
       Rank |= RF_EXEC;
-  } else {
-    if (IsWrite)
-      Rank |= RF_WRITE;
+  } else if (IsWrite) {
+    Rank |= RF_WRITE;
+  } else if (Sec->Type == SHT_PROGBITS) {
     // Make non-executable and non-writable PROGBITS sections (e.g .rodata
-    // .eh_frame) closer to .text . They likely contain PC or GOT relative
+    // .eh_frame) closer to .text. They likely contain PC or GOT relative
     // relocations and there could be relocation overflow if other huge sections
     // (.dynstr .dynsym) were placed in between.
-    else if (Sec->Type == SHT_PROGBITS)
-      Rank |= RF_PROGBITS_NOT_EXEC_OR_WRITE;
+    Rank |= RF_RODATA;
   }
 
   // If we got here we know that both A and B are in the same PT_LOAD.




More information about the llvm-commits mailing list