[llvm-commits] [llvm] r114895 - in /llvm/trunk: lib/MC/MCParser/ELFAsmParser.cpp test/MC/ELF/align-text.s
Rafael Espindola
rafael.espindola at gmail.com
Mon Sep 27 14:40:27 PDT 2010
Author: rafael
Date: Mon Sep 27 16:40:27 2010
New Revision: 114895
URL: http://llvm.org/viewvc/llvm-project?rev=114895&view=rev
Log:
Make sure .text doesn't produce extra alignment.
Added:
llvm/trunk/test/MC/ELF/align-text.s
Modified:
llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp
Modified: llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp?rev=114895&r1=114894&r2=114895&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp (original)
+++ llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp Mon Sep 27 16:40:27 2010
@@ -54,25 +54,19 @@
// FIXME: Part of this logic is duplicated in the MCELFStreamer. What is
// the best way for us to get access to it?
bool ParseSectionDirectiveData(StringRef, SMLoc) {
- bool ret = ParseSectionSwitch(".data", MCSectionELF::SHT_PROGBITS,
+ return ParseSectionSwitch(".data", MCSectionELF::SHT_PROGBITS,
MCSectionELF::SHF_WRITE |MCSectionELF::SHF_ALLOC,
SectionKind::getDataRel());
- getStreamer().EmitCodeAlignment(4, 0);
- return ret;
}
bool ParseSectionDirectiveText(StringRef, SMLoc) {
- bool ret = ParseSectionSwitch(".text", MCSectionELF::SHT_PROGBITS,
+ return ParseSectionSwitch(".text", MCSectionELF::SHT_PROGBITS,
MCSectionELF::SHF_EXECINSTR |
MCSectionELF::SHF_ALLOC, SectionKind::getText());
- getStreamer().EmitCodeAlignment(4, 0);
- return ret;
}
bool ParseSectionDirectiveBSS(StringRef, SMLoc) {
- bool ret = ParseSectionSwitch(".bss", MCSectionELF::SHT_NOBITS,
+ return ParseSectionSwitch(".bss", MCSectionELF::SHT_NOBITS,
MCSectionELF::SHF_WRITE |
MCSectionELF::SHF_ALLOC, SectionKind::getBSS());
- getStreamer().EmitCodeAlignment(4, 0);
- return ret;
}
bool ParseSectionDirectiveRoData(StringRef, SMLoc) {
return ParseSectionSwitch(".rodata", MCSectionELF::SHT_PROGBITS,
Added: llvm/trunk/test/MC/ELF/align-text.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/align-text.s?rev=114895&view=auto
==============================================================================
--- llvm/trunk/test/MC/ELF/align-text.s (added)
+++ llvm/trunk/test/MC/ELF/align-text.s Mon Sep 27 16:40:27 2010
@@ -0,0 +1,19 @@
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump | FileCheck %s
+
+// Test that the .text directive doesn't cause alignment.
+
+ .zero 1
+ .text
+ .zero 1
+
+// CHECK: (('sh_name', 1) # '.text'
+// CHECK-NEXT: ('sh_type', 1)
+// CHECK-NEXT: ('sh_flags', 6)
+// CHECK-NEXT: ('sh_addr', 0)
+// CHECK-NEXT: ('sh_offset', 64)
+// CHECK-NEXT: ('sh_size', 2)
+// CHECK-NEXT: ('sh_link', 0)
+// CHECK-NEXT: ('sh_info', 0)
+// CHECK-NEXT: ('sh_addralign', 4)
+// CHECK-NEXT: ('sh_entsize', 0)
+// CHECK-NEXT: ),
More information about the llvm-commits
mailing list