Lines Matching refs:IO
29 IO &IO, XCOFF::SectionTypeFlags &Value) { in bitset() argument
30 #define ECase(X) IO.bitSetCase(Value, #X, XCOFF::X) in bitset()
48 IO &IO, XCOFF::DwarfSectionSubtypeFlags &Value) { in enumeration() argument
49 #define ECase(X) IO.enumCase(Value, #X, XCOFF::X) in enumeration()
62 IO.enumFallback<Hex32>(Value); in enumeration()
66 IO &IO, XCOFF::StorageClass &Value) { in enumeration() argument
67 #define ECase(X) IO.enumCase(Value, #X, XCOFF::X) in enumeration()
122 IO &IO, XCOFF::StorageMappingClass &Value) { in enumeration() argument
123 #define ECase(X) IO.enumCase(Value, #X, XCOFF::X) in enumeration()
149 IO &IO, XCOFF::SymbolType &Value) { in enumeration() argument
150 #define ECase(X) IO.enumCase(Value, #X, XCOFF::X) in enumeration()
156 IO.enumFallback<Hex8>(Value); in enumeration()
160 IO &IO, XCOFFYAML::AuxSymbolType &Type) { in enumeration() argument
161 #define ECase(X) IO.enumCase(Type, #X, XCOFFYAML::X) in enumeration()
173 IO &IO, XCOFF::CFileStringType &Type) { in enumeration() argument
174 #define ECase(X) IO.enumCase(Type, #X, XCOFF::X) in enumeration()
183 NSectionFlags(IO &) : Flags(XCOFF::SectionTypeFlags(0)) {} in NSectionFlags()
184 NSectionFlags(IO &, uint32_t C) : Flags(XCOFF::SectionTypeFlags(C)) {} in NSectionFlags()
186 uint32_t denormalize(IO &) { return Flags; } in denormalize()
192 IO &IO, XCOFFYAML::FileHeader &FileHdr) { in mapping() argument
193 IO.mapOptional("MagicNumber", FileHdr.Magic); in mapping()
194 IO.mapOptional("NumberOfSections", FileHdr.NumberOfSections); in mapping()
195 IO.mapOptional("CreationTime", FileHdr.TimeStamp); in mapping()
196 IO.mapOptional("OffsetToSymbolTable", FileHdr.SymbolTableOffset); in mapping()
197 IO.mapOptional("EntriesInSymbolTable", FileHdr.NumberOfSymTableEntries); in mapping()
198 IO.mapOptional("AuxiliaryHeaderSize", FileHdr.AuxHeaderSize); in mapping()
199 IO.mapOptional("Flags", FileHdr.Flags); in mapping()
203 IO &IO, XCOFFYAML::AuxiliaryHeader &AuxHdr) { in mapping() argument
204 IO.mapOptional("Magic", AuxHdr.Magic); in mapping()
205 IO.mapOptional("Version", AuxHdr.Version); in mapping()
206 IO.mapOptional("TextStartAddr", AuxHdr.TextStartAddr); in mapping()
207 IO.mapOptional("DataStartAddr", AuxHdr.DataStartAddr); in mapping()
208 IO.mapOptional("TOCAnchorAddr", AuxHdr.TOCAnchorAddr); in mapping()
209 IO.mapOptional("TextSectionSize", AuxHdr.TextSize); in mapping()
210 IO.mapOptional("DataSectionSize", AuxHdr.InitDataSize); in mapping()
211 IO.mapOptional("BssSectionSize", AuxHdr.BssDataSize); in mapping()
212 IO.mapOptional("SecNumOfEntryPoint", AuxHdr.SecNumOfEntryPoint); in mapping()
213 IO.mapOptional("SecNumOfText", AuxHdr.SecNumOfText); in mapping()
214 IO.mapOptional("SecNumOfData", AuxHdr.SecNumOfData); in mapping()
215 IO.mapOptional("SecNumOfTOC", AuxHdr.SecNumOfTOC); in mapping()
216 IO.mapOptional("SecNumOfLoader", AuxHdr.SecNumOfLoader); in mapping()
217 IO.mapOptional("SecNumOfBSS", AuxHdr.SecNumOfBSS); in mapping()
218 IO.mapOptional("MaxAlignOfText", AuxHdr.MaxAlignOfText); in mapping()
219 IO.mapOptional("MaxAlignOfData", AuxHdr.MaxAlignOfData); in mapping()
220 IO.mapOptional("ModuleType", AuxHdr.CpuFlag); in mapping()
221 IO.mapOptional("TextPageSize", AuxHdr.TextPageSize); in mapping()
222 IO.mapOptional("DataPageSize", AuxHdr.DataPageSize); in mapping()
223 IO.mapOptional("StackPageSize", AuxHdr.StackPageSize); in mapping()
224 IO.mapOptional("FlagAndTDataAlignment", AuxHdr.FlagAndTDataAlignment); in mapping()
225 IO.mapOptional("EntryPointAddr", AuxHdr.EntryPointAddr); in mapping()
226 IO.mapOptional("MaxStackSize", AuxHdr.MaxStackSize); in mapping()
227 IO.mapOptional("MaxDataSize", AuxHdr.MaxDataSize); in mapping()
228 IO.mapOptional("SecNumOfTData", AuxHdr.SecNumOfTData); in mapping()
229 IO.mapOptional("SecNumOfTBSS", AuxHdr.SecNumOfTBSS); in mapping()
230 IO.mapOptional("Flag", AuxHdr.Flag); in mapping()
233 void MappingTraits<XCOFFYAML::Relocation>::mapping(IO &IO, in mapping() argument
235 IO.mapOptional("Address", R.VirtualAddress); in mapping()
236 IO.mapOptional("Symbol", R.SymbolIndex); in mapping()
237 IO.mapOptional("Info", R.Info); in mapping()
238 IO.mapOptional("Type", R.Type); in mapping()
241 void MappingTraits<XCOFFYAML::Section>::mapping(IO &IO, in mapping() argument
243 MappingNormalization<NSectionFlags, uint32_t> NC(IO, Sec.Flags); in mapping()
244 IO.mapOptional("Name", Sec.SectionName); in mapping()
245 IO.mapOptional("Address", Sec.Address); in mapping()
246 IO.mapOptional("Size", Sec.Size); in mapping()
247 IO.mapOptional("FileOffsetToData", Sec.FileOffsetToData); in mapping()
248 IO.mapOptional("FileOffsetToRelocations", Sec.FileOffsetToRelocations); in mapping()
249 IO.mapOptional("FileOffsetToLineNumbers", Sec.FileOffsetToLineNumbers); in mapping()
250 IO.mapOptional("NumberOfRelocations", Sec.NumberOfRelocations); in mapping()
251 IO.mapOptional("NumberOfLineNumbers", Sec.NumberOfLineNumbers); in mapping()
252 IO.mapOptional("Flags", NC->Flags); in mapping()
253 IO.mapOptional("DWARFSectionSubtype", Sec.SectionSubtype); in mapping()
254 IO.mapOptional("SectionData", Sec.SectionData); in mapping()
255 IO.mapOptional("Relocations", Sec.Relocations); in mapping()
258 static void auxSymMapping(IO &IO, XCOFFYAML::CsectAuxEnt &AuxSym, bool Is64) { in auxSymMapping() argument
259 IO.mapOptional("ParameterHashIndex", AuxSym.ParameterHashIndex); in auxSymMapping()
260 IO.mapOptional("TypeChkSectNum", AuxSym.TypeChkSectNum); in auxSymMapping()
261 IO.mapOptional("SymbolAlignmentAndType", AuxSym.SymbolAlignmentAndType); in auxSymMapping()
262 IO.mapOptional("SymbolType", AuxSym.SymbolType); in auxSymMapping()
263 IO.mapOptional("SymbolAlignment", AuxSym.SymbolAlignment); in auxSymMapping()
264 IO.mapOptional("StorageMappingClass", AuxSym.StorageMappingClass); in auxSymMapping()
266 IO.mapOptional("SectionOrLengthLo", AuxSym.SectionOrLengthLo); in auxSymMapping()
267 IO.mapOptional("SectionOrLengthHi", AuxSym.SectionOrLengthHi); in auxSymMapping()
269 IO.mapOptional("SectionOrLength", AuxSym.SectionOrLength); in auxSymMapping()
270 IO.mapOptional("StabInfoIndex", AuxSym.StabInfoIndex); in auxSymMapping()
271 IO.mapOptional("StabSectNum", AuxSym.StabSectNum); in auxSymMapping()
275 static void auxSymMapping(IO &IO, XCOFFYAML::FileAuxEnt &AuxSym) { in auxSymMapping() argument
276 IO.mapOptional("FileNameOrString", AuxSym.FileNameOrString); in auxSymMapping()
277 IO.mapOptional("FileStringType", AuxSym.FileStringType); in auxSymMapping()
280 static void auxSymMapping(IO &IO, XCOFFYAML::BlockAuxEnt &AuxSym, bool Is64) { in auxSymMapping() argument
282 IO.mapOptional("LineNum", AuxSym.LineNum); in auxSymMapping()
284 IO.mapOptional("LineNumHi", AuxSym.LineNumHi); in auxSymMapping()
285 IO.mapOptional("LineNumLo", AuxSym.LineNumLo); in auxSymMapping()
289 static void auxSymMapping(IO &IO, XCOFFYAML::FunctionAuxEnt &AuxSym, in auxSymMapping() argument
292 IO.mapOptional("OffsetToExceptionTbl", AuxSym.OffsetToExceptionTbl); in auxSymMapping()
293 IO.mapOptional("SizeOfFunction", AuxSym.SizeOfFunction); in auxSymMapping()
294 IO.mapOptional("SymIdxOfNextBeyond", AuxSym.SymIdxOfNextBeyond); in auxSymMapping()
295 IO.mapOptional("PtrToLineNum", AuxSym.PtrToLineNum); in auxSymMapping()
298 static void auxSymMapping(IO &IO, XCOFFYAML::ExcpetionAuxEnt &AuxSym) { in auxSymMapping() argument
299 IO.mapOptional("OffsetToExceptionTbl", AuxSym.OffsetToExceptionTbl); in auxSymMapping()
300 IO.mapOptional("SizeOfFunction", AuxSym.SizeOfFunction); in auxSymMapping()
301 IO.mapOptional("SymIdxOfNextBeyond", AuxSym.SymIdxOfNextBeyond); in auxSymMapping()
304 static void auxSymMapping(IO &IO, XCOFFYAML::SectAuxEntForDWARF &AuxSym) { in auxSymMapping() argument
305 IO.mapOptional("LengthOfSectionPortion", AuxSym.LengthOfSectionPortion); in auxSymMapping()
306 IO.mapOptional("NumberOfRelocEnt", AuxSym.NumberOfRelocEnt); in auxSymMapping()
309 static void auxSymMapping(IO &IO, XCOFFYAML::SectAuxEntForStat &AuxSym) { in auxSymMapping() argument
310 IO.mapOptional("SectionLength", AuxSym.SectionLength); in auxSymMapping()
311 IO.mapOptional("NumberOfRelocEnt", AuxSym.NumberOfRelocEnt); in auxSymMapping()
312 IO.mapOptional("NumberOfLineNum", AuxSym.NumberOfLineNum); in auxSymMapping()
316 static void ResetAuxSym(IO &IO, in ResetAuxSym() argument
318 if (!IO.outputting()) in ResetAuxSym()
323 IO &IO, std::unique_ptr<XCOFFYAML::AuxSymbolEnt> &AuxSym) { in mapping() argument
325 static_cast<XCOFFYAML::Object *>(IO.getContext())->Header.Magic == in mapping()
329 if (IO.outputting()) in mapping()
331 IO.mapRequired("Type", AuxType); in mapping()
335 IO.setError("an auxiliary symbol of type AUX_EXCEPT cannot be defined in " in mapping()
339 ResetAuxSym<XCOFFYAML::ExcpetionAuxEnt>(IO, AuxSym); in mapping()
340 auxSymMapping(IO, *cast<XCOFFYAML::ExcpetionAuxEnt>(AuxSym.get())); in mapping()
343 ResetAuxSym<XCOFFYAML::FunctionAuxEnt>(IO, AuxSym); in mapping()
344 auxSymMapping(IO, *cast<XCOFFYAML::FunctionAuxEnt>(AuxSym.get()), Is64); in mapping()
347 ResetAuxSym<XCOFFYAML::BlockAuxEnt>(IO, AuxSym); in mapping()
348 auxSymMapping(IO, *cast<XCOFFYAML::BlockAuxEnt>(AuxSym.get()), Is64); in mapping()
351 ResetAuxSym<XCOFFYAML::FileAuxEnt>(IO, AuxSym); in mapping()
352 auxSymMapping(IO, *cast<XCOFFYAML::FileAuxEnt>(AuxSym.get())); in mapping()
355 ResetAuxSym<XCOFFYAML::CsectAuxEnt>(IO, AuxSym); in mapping()
356 auxSymMapping(IO, *cast<XCOFFYAML::CsectAuxEnt>(AuxSym.get()), Is64); in mapping()
359 ResetAuxSym<XCOFFYAML::SectAuxEntForDWARF>(IO, AuxSym); in mapping()
360 auxSymMapping(IO, *cast<XCOFFYAML::SectAuxEntForDWARF>(AuxSym.get())); in mapping()
364 IO.setError( in mapping()
368 ResetAuxSym<XCOFFYAML::SectAuxEntForStat>(IO, AuxSym); in mapping()
369 auxSymMapping(IO, *cast<XCOFFYAML::SectAuxEntForStat>(AuxSym.get())); in mapping()
374 void MappingTraits<XCOFFYAML::Symbol>::mapping(IO &IO, XCOFFYAML::Symbol &S) { in mapping() argument
375 IO.mapOptional("Name", S.SymbolName); in mapping()
376 IO.mapOptional("Value", S.Value); in mapping()
377 IO.mapOptional("Section", S.SectionName); in mapping()
378 IO.mapOptional("SectionIndex", S.SectionIndex); in mapping()
379 IO.mapOptional("Type", S.Type); in mapping()
380 IO.mapOptional("StorageClass", S.StorageClass); in mapping()
381 IO.mapOptional("NumberOfAuxEntries", S.NumberOfAuxEntries); in mapping()
382 IO.mapOptional("AuxEntries", S.AuxEntries); in mapping()
386 IO &IO, XCOFFYAML::StringTable &Str) { in mapping() argument
387 IO.mapOptional("ContentSize", Str.ContentSize); in mapping()
388 IO.mapOptional("Length", Str.Length); in mapping()
389 IO.mapOptional("Strings", Str.Strings); in mapping()
390 IO.mapOptional("RawContent", Str.RawContent); in mapping()
393 void MappingTraits<XCOFFYAML::Object>::mapping(IO &IO, XCOFFYAML::Object &Obj) { in mapping() argument
394 IO.setContext(&Obj); in mapping()
395 IO.mapTag("!XCOFF", true); in mapping()
396 IO.mapRequired("FileHeader", Obj.Header); in mapping()
397 IO.mapOptional("AuxiliaryHeader", Obj.AuxHeader); in mapping()
398 IO.mapOptional("Sections", Obj.Sections); in mapping()
399 IO.mapOptional("Symbols", Obj.Symbols); in mapping()
400 IO.mapOptional("StringTable", Obj.StrTbl); in mapping()
401 IO.setContext(nullptr); in mapping()