diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-10 01:39:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-10 01:39:42 +0000 |
commit | ff4bc460c52c1f285d8a56da173641bf92d49e3f (patch) | |
tree | 7da0d5977dffaffaa4bb5da91039d0960f839f77 /tools/llvm-mc/llvm-mc.cpp | |
parent | e36df3fd31a08a41d9ad04fcba182b616b030c9c (diff) |
Make the big switch: Change MCSectionMachO to represent a section *semantically*
instead of syntactically as a string. This means that it keeps track of the
segment, section, flags, etc directly and asmprints them in the right format.
This also includes parsing and validation support for llvm-mc and
"attribute(section)", so we should now start getting errors about invalid
section attributes from the compiler instead of the assembler on darwin.
Still todo:
1) Uniquing of darwin mcsections
2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h]
3) there are a few FIXMEs, for example what is the syntax to get the
S_GB_ZEROFILL segment type?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78547 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-mc/llvm-mc.cpp')
-rw-r--r-- | tools/llvm-mc/llvm-mc.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp index 5f746f2e47..5bddea4c31 100644 --- a/tools/llvm-mc/llvm-mc.cpp +++ b/tools/llvm-mc/llvm-mc.cpp @@ -186,11 +186,10 @@ static int AssembleInput(const char *ProgName) { OwningPtr<MCStreamer> Str(createAsmStreamer(Ctx, outs())); // FIXME: Target hook & command line option for initial section. - Str.get()->SwitchSection(MCSectionMachO::Create("__TEXT,__text," - "regular,pure_instructions", - false, - SectionKind::getText(), - Ctx)); + Str.get()->SwitchSection(MCSectionMachO::Create("__TEXT","__text", + MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS, + 0, SectionKind::getText(), + Ctx)); AsmParser Parser(SrcMgr, Ctx, *Str.get()); OwningPtr<TargetAsmParser> TAP(GetTargetAsmParser(ProgName, Parser)); |