File tree 2 files changed +13
-3
lines changed
source/Plugins/ObjectFile/PECOFF
test/Shell/ObjectFile/PECOFF
2 files changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -797,6 +797,7 @@ void ObjectFilePECOFF::CreateSections(SectionList &unified_section_list) {
797
797
/* file_offset*/ 0 , m_coff_header_opt.header_size ,
798
798
m_coff_header_opt.sect_alignment ,
799
799
/* flags*/ 0 );
800
+ header_sp->SetPermissions (ePermissionsReadable);
800
801
m_sections_up->AddSection (header_sp);
801
802
unified_section_list.AddSection (header_sp);
802
803
@@ -919,6 +920,15 @@ void ObjectFilePECOFF::CreateSections(SectionList &unified_section_list) {
919
920
m_coff_header_opt.sect_alignment , // Section alignment
920
921
m_sect_headers[idx].flags )); // Flags for this section
921
922
923
+ uint32_t permissions = 0 ;
924
+ if (m_sect_headers[idx].flags & llvm::COFF::IMAGE_SCN_MEM_EXECUTE)
925
+ permissions |= ePermissionsExecutable;
926
+ if (m_sect_headers[idx].flags & llvm::COFF::IMAGE_SCN_MEM_READ)
927
+ permissions |= ePermissionsReadable;
928
+ if (m_sect_headers[idx].flags & llvm::COFF::IMAGE_SCN_MEM_WRITE)
929
+ permissions |= ePermissionsWritable;
930
+ section_sp->SetPermissions (permissions);
931
+
922
932
m_sections_up->AddSection (section_sp);
923
933
unified_section_list.AddSection (section_sp);
924
934
}
Original file line number Diff line number Diff line change 7
7
# CHECK-NEXT: ID: 0xffffffffffffffff
8
8
# CHECK-NEXT: Name: PECOFF header
9
9
# CHECK-NEXT: Type: regular
10
- # CHECK-NEXT: Permissions: - --
10
+ # CHECK-NEXT: Permissions: r --
11
11
# CHECK-NEXT: Thread specific: no
12
12
# CHECK-NEXT: VM address: 0x40000000
13
13
# CHECK-NEXT: VM size: 512
17
17
# CHECK-NEXT: ID: 0x1
18
18
# CHECK-NEXT: Name: .text
19
19
# CHECK-NEXT: Type: code
20
- # CHECK-NEXT: Permissions: ---
20
+ # CHECK-NEXT: Permissions: r-x
21
21
# CHECK-NEXT: Thread specific: no
22
22
# CHECK-NEXT: VM address: 0x40001000
23
23
# CHECK-NEXT: VM size: 64
27
27
# CHECK-NEXT: ID: 0x2
28
28
# CHECK-NEXT: Name: .data
29
29
# CHECK-NEXT: Type: data
30
- # CHECK-NEXT: Permissions: - --
30
+ # CHECK-NEXT: Permissions: r --
31
31
# CHECK-NEXT: Thread specific: no
32
32
# CHECK-NEXT: VM address: 0x40002000
33
33
# CHECK-NEXT: VM size: 64
You can’t perform that action at this time.
0 commit comments