forked from OSchip/llvm-project
parent
345b98eddd
commit
9d17a3194e
|
@ -271,9 +271,11 @@ bool ELFAsmParser::ParseDirectiveSection(StringRef, SMLoc) {
|
|||
unsigned Type = MCSectionELF::SHT_NULL;
|
||||
|
||||
// Set the defaults first.
|
||||
if (SectionName == ".fini" || SectionName == ".init") {
|
||||
if (SectionName == ".fini" || SectionName == ".init" || SectionName == ".rodata") {
|
||||
Type = MCSectionELF::SHT_PROGBITS;
|
||||
Flags |= MCSectionELF::SHF_ALLOC;
|
||||
}
|
||||
if (SectionName == ".fini" || SectionName == ".init") {
|
||||
Flags |= MCSectionELF::SHF_EXECINSTR;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,10 +10,11 @@
|
|||
// CHECK: ('sh_name', 0x00000022) # '.note.GNU-'
|
||||
// CHECK: ('sh_name', 0x0000002d) # '-.note.GNU'
|
||||
|
||||
// Test that the dafults for init and fini are used
|
||||
// Test that the dafults are used
|
||||
|
||||
.section .init
|
||||
.section .fini
|
||||
.section .rodata
|
||||
|
||||
// CHECK: (('sh_name', 0x00000038) # '.init'
|
||||
// CHECK-NEXT: ('sh_type', 0x00000001)
|
||||
|
@ -37,7 +38,19 @@
|
|||
// CHECK-NEXT: ('sh_info', 0x00000000)
|
||||
// CHECK-NEXT: ('sh_addralign', 0x00000001)
|
||||
// CHECK-NEXT: ('sh_entsize', 0x00000000)
|
||||
|
||||
// CHECK-NEXT: ),
|
||||
// CHECK-NEXT: # Section 0x00000009
|
||||
// CHECK-NEXT: (('sh_name', 0x00000044) # '.rodata'
|
||||
// CHECK-NEXT: ('sh_type', 0x00000001)
|
||||
// CHECK-NEXT: ('sh_flags', 0x00000002)
|
||||
// CHECK-NEXT: ('sh_addr', 0x00000000)
|
||||
// CHECK-NEXT: ('sh_offset', 0x00000040)
|
||||
// CHECK-NEXT: ('sh_size', 0x00000000)
|
||||
// CHECK-NEXT: ('sh_link', 0x00000000)
|
||||
// CHECK-NEXT: ('sh_info', 0x00000000)
|
||||
// CHECK-NEXT: ('sh_addralign', 0x00000001)
|
||||
// CHECK-NEXT: ('sh_entsize', 0x00000000)
|
||||
// CHECK-NEXT: ),
|
||||
|
||||
// Test that we can parse these
|
||||
.section .text.foo,"axG",@progbits,foo,comdat
|
||||
|
|
Loading…
Reference in New Issue