Home | History | Annotate | Download | only in MC

Lines Matching refs:Section

1 //===- lib/MC/MCSectionMachO.cpp - MachO Code Section Representation ------===//
16 /// SectionTypeDescriptors - These are strings that describe the various section
18 /// section type list.
49 /// SectionAttrDescriptors - This is an array of descriptors for section
70 { 0, "none", 0 }, // used if section has no attributes but has a stub size
75 MCSectionMachO::MCSectionMachO(StringRef Segment, StringRef Section,
78 assert(Segment.size() <= 16 && Section.size() <= 16 &&
79 "Segment or section string too long");
86 if (i < Section.size())
87 SectionName[i] = Section[i];
95 OS << "\t.section\t" << getSegmentName() << ',' << getSectionName();
97 // Get the section type and attributes.
148 assert(SectionAttrs == 0 && "Unknown section attributes!");
174 /// ParseSectionSpecifier - Parse the section specifier indicated by "Spec".
175 /// This is a string that can appear after a .section directive in a mach-o
177 /// parameters and returns an empty string. When an invalid section
181 StringRef &Section, // Out.
191 return "mach-o section specifier requires a segment and section "
200 return "mach-o section specifier requires a segment whose length is "
203 // Split the section name off from any attributes if present.
206 // Capture section, remove leading and trailing whitespace.
207 Section = Comma.first;
208 StripSpaces(Section);
210 // Verify that the section is present and not too long.
211 if (Section.empty() || Section.size() > 16)
212 return "mach-o section specifier requires a section whose length is "
215 // If there is no comma after the section, we're done.
221 // Otherwise, we need to parse the section type and attributes.
224 // Get the section type.
228 // Figure out which section type it is.
235 // If we didn't find the section type, reject it.
237 return "mach-o section specifier uses an unknown section type";
243 // If we have no comma after the section type, there are no attributes.
247 return "mach-o section specifier of type 'symbol_stubs' requires a size "
267 return "mach-o section specifier has invalid attribute";
280 // Okay, we've parsed the section attributes, see if we have a stub size spec.
284 return "mach-o section specifier of type 'symbol_stubs' requires a size "
291 return "mach-o section specifier cannot have a stub size specified because "
300 return "mach-o section specifier has a malformed stub size";