From: Rafael Espindola Date: Mon, 8 Nov 2010 02:47:59 +0000 (+0000) Subject: Set default flags for .rodata. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4faf7c78fe58ba0b9e05e141dc1fec1ff4d98a50;p=oota-llvm.git Set default flags for .rodata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118395 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/MC/MCParser/ELFAsmParser.cpp b/lib/MC/MCParser/ELFAsmParser.cpp index 9883018dd15..d6c4e451259 100644 --- a/lib/MC/MCParser/ELFAsmParser.cpp +++ b/lib/MC/MCParser/ELFAsmParser.cpp @@ -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; } diff --git a/test/MC/ELF/section.s b/test/MC/ELF/section.s index 9c7288036df..74fd38eaf88 100644 --- a/test/MC/ELF/section.s +++ b/test/MC/ELF/section.s @@ -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