[PATCH] D48472: [ELF] Change isSectionData to exclude SHF_EXECINSTR

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 22 17:20:21 PDT 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rL335405: [ELF] Change isSectionData to exclude SHF_EXECINSTR (authored by MaskRay, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D48472?vs=152431&id=152563#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D48472

Files:
  llvm/trunk/include/llvm/Object/ELFObjectFile.h
  llvm/trunk/test/Object/objdump-sectionheaders.test


Index: llvm/trunk/include/llvm/Object/ELFObjectFile.h
===================================================================
--- llvm/trunk/include/llvm/Object/ELFObjectFile.h
+++ llvm/trunk/include/llvm/Object/ELFObjectFile.h
@@ -709,8 +709,9 @@
 template <class ELFT>
 bool ELFObjectFile<ELFT>::isSectionData(DataRefImpl Sec) const {
   const Elf_Shdr *EShdr = getSection(Sec);
-  return EShdr->sh_flags & (ELF::SHF_ALLOC | ELF::SHF_WRITE) &&
-         EShdr->sh_type == ELF::SHT_PROGBITS;
+  return EShdr->sh_type == ELF::SHT_PROGBITS &&
+         EShdr->sh_flags & ELF::SHF_ALLOC &&
+         !(EShdr->sh_flags & ELF::SHF_EXECINSTR);
 }
 
 template <class ELFT>
Index: llvm/trunk/test/Object/objdump-sectionheaders.test
===================================================================
--- llvm/trunk/test/Object/objdump-sectionheaders.test
+++ llvm/trunk/test/Object/objdump-sectionheaders.test
@@ -7,7 +7,7 @@
 ; CHECK: Sections:
 ; CHECK: Idx Name          Size      Address          Type
 ; CHECK:   0               00000000 0000000000000000
-; CHECK:   1 .text         00000026 0000000000000000 TEXT DATA
+; CHECK:   1 .text         00000026 0000000000000000 TEXT
 ; CHECK:   2 .rodata.str1.1 0000000d 0000000000000026 DATA
 ; CHECK:   3 .note.GNU-stack 00000000 0000000000000033
 ; CHECK:   4 .rela.text    00000048 0000000000000038


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48472.152563.patch
Type: text/x-patch
Size: 1342 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180623/1a82c75f/attachment.bin>


More information about the llvm-commits mailing list