Lines Matching refs:COFF
42 typedef SmallString<COFF::NameSize> name;
54 COFF::Auxiliary Aux;
62 COFF::symbol Data;
83 COFF::relocation Data;
87 static size_t size() { return COFF::RelocationSize; } in size()
94 COFF::section Header;
118 COFF::header Header;
162 void WriteFileHeader(const COFF::header &Header);
165 void WriteSectionHeader(const COFF::section &S);
166 void WriteRelocation(const COFF::relocation &R);
254 return COFF::SectionSize; in size()
307 if (Sec.getSelection() != COFF::IMAGE_COMDAT_SELECT_ASSOCIATIVE) { in DefineSection()
318 coff_symbol->Data.StorageClass = COFF::IMAGE_SYM_CLASS_STATIC; in DefineSection()
330 case 1: Characteristics |= COFF::IMAGE_SCN_ALIGN_1BYTES; break; in DefineSection()
331 case 2: Characteristics |= COFF::IMAGE_SCN_ALIGN_2BYTES; break; in DefineSection()
332 case 4: Characteristics |= COFF::IMAGE_SCN_ALIGN_4BYTES; break; in DefineSection()
333 case 8: Characteristics |= COFF::IMAGE_SCN_ALIGN_8BYTES; break; in DefineSection()
334 case 16: Characteristics |= COFF::IMAGE_SCN_ALIGN_16BYTES; break; in DefineSection()
335 case 32: Characteristics |= COFF::IMAGE_SCN_ALIGN_32BYTES; break; in DefineSection()
336 case 64: Characteristics |= COFF::IMAGE_SCN_ALIGN_64BYTES; break; in DefineSection()
337 case 128: Characteristics |= COFF::IMAGE_SCN_ALIGN_128BYTES; break; in DefineSection()
338 case 256: Characteristics |= COFF::IMAGE_SCN_ALIGN_256BYTES; break; in DefineSection()
339 case 512: Characteristics |= COFF::IMAGE_SCN_ALIGN_512BYTES; break; in DefineSection()
340 case 1024: Characteristics |= COFF::IMAGE_SCN_ALIGN_1024BYTES; break; in DefineSection()
341 case 2048: Characteristics |= COFF::IMAGE_SCN_ALIGN_2048BYTES; break; in DefineSection()
342 case 4096: Characteristics |= COFF::IMAGE_SCN_ALIGN_4096BYTES; break; in DefineSection()
343 case 8192: Characteristics |= COFF::IMAGE_SCN_ALIGN_8192BYTES; break; in DefineSection()
374 if (SymbolData.getFlags() & COFF::SF_WeakExternal) { in DefineSymbol()
375 coff_symbol->Data.StorageClass = COFF::IMAGE_SYM_CLASS_WEAK_EXTERNAL; in DefineSymbol()
388 WeakDefault->Data.SectionNumber = COFF::IMAGE_SYM_ABSOLUTE; in DefineSymbol()
389 WeakDefault->Data.StorageClass = COFF::IMAGE_SYM_CLASS_EXTERNAL; in DefineSymbol()
401 COFF::IMAGE_WEAK_EXTERN_SEARCH_LIBRARY; in DefineSymbol()
419 ? COFF::IMAGE_SYM_CLASS_EXTERNAL in DefineSymbol()
420 : COFF::IMAGE_SYM_CLASS_STATIC; in DefineSymbol()
424 coff_symbol->Data.SectionNumber = COFF::IMAGE_SYM_ABSOLUTE; in DefineSymbol()
470 if (S.Name.size() > COFF::NameSize) { in SetSectionName()
492 if (S.Name.size() > COFF::NameSize) in SetSymbolName()
520 & COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA) == 0; in IsPhysicalSection()
526 void WinCOFFObjectWriter::WriteFileHeader(const COFF::header &Header) { in WriteFileHeader()
528 WriteLE16(COFF::IMAGE_FILE_MACHINE_UNKNOWN); in WriteFileHeader()
530 WriteLE16(COFF::BigObjHeader::MinBigObjectVersion); in WriteFileHeader()
533 for (uint8_t MagicChar : COFF::BigObjMagic) in WriteFileHeader()
554 WriteBytes(StringRef(S.Data.Name, COFF::NameSize)); in WriteSymbol()
578 WriteZeros(COFF::Symbol32Size - COFF::Symbol16Size); in WriteAuxiliarySymbols()
587 WriteZeros(COFF::Symbol32Size - COFF::Symbol16Size); in WriteAuxiliarySymbols()
594 WriteZeros(COFF::Symbol32Size - COFF::Symbol16Size); in WriteAuxiliarySymbols()
599 UseBigObj ? COFF::Symbol32Size : COFF::Symbol16Size)); in WriteAuxiliarySymbols()
611 WriteZeros(COFF::Symbol32Size - COFF::Symbol16Size); in WriteAuxiliarySymbols()
617 void WinCOFFObjectWriter::WriteSectionHeader(const COFF::section &S) { in WriteSectionHeader()
618 WriteBytes(StringRef(S.Name, COFF::NameSize)); in WriteSectionHeader()
631 void WinCOFFObjectWriter::WriteRelocation(const COFF::relocation &R) { in WriteRelocation()
659 if ((((DataA.getFlags() & COFF::SF_TypeMask) >> COFF::SF_TypeShift) >> in IsSymbolRefDifferenceFullyResolvedImpl()
660 COFF::SCT_COMPLEX_TYPE_SHIFT) == COFF::IMAGE_SYM_DTYPE_FUNCTION) in IsSymbolRefDifferenceFullyResolvedImpl()
759 if ((Header.Machine == COFF::IMAGE_FILE_MACHINE_AMD64 && in RecordRelocation()
760 Reloc.Data.Type == COFF::IMAGE_REL_AMD64_REL32) || in RecordRelocation()
761 (Header.Machine == COFF::IMAGE_FILE_MACHINE_I386 && in RecordRelocation()
762 Reloc.Data.Type == COFF::IMAGE_REL_I386_REL32)) in RecordRelocation()
765 if (Header.Machine == COFF::IMAGE_FILE_MACHINE_ARMNT) { in RecordRelocation()
767 case COFF::IMAGE_REL_ARM_ABSOLUTE: in RecordRelocation()
768 case COFF::IMAGE_REL_ARM_ADDR32: in RecordRelocation()
769 case COFF::IMAGE_REL_ARM_ADDR32NB: in RecordRelocation()
770 case COFF::IMAGE_REL_ARM_TOKEN: in RecordRelocation()
771 case COFF::IMAGE_REL_ARM_SECTION: in RecordRelocation()
772 case COFF::IMAGE_REL_ARM_SECREL: in RecordRelocation()
774 case COFF::IMAGE_REL_ARM_BRANCH11: in RecordRelocation()
775 case COFF::IMAGE_REL_ARM_BLX11: in RecordRelocation()
779 case COFF::IMAGE_REL_ARM_BRANCH24: in RecordRelocation()
780 case COFF::IMAGE_REL_ARM_BLX24: in RecordRelocation()
781 case COFF::IMAGE_REL_ARM_MOV32A: in RecordRelocation()
789 case COFF::IMAGE_REL_ARM_MOV32T: in RecordRelocation()
791 case COFF::IMAGE_REL_ARM_BRANCH20T: in RecordRelocation()
792 case COFF::IMAGE_REL_ARM_BRANCH24T: in RecordRelocation()
793 case COFF::IMAGE_REL_ARM_BLX23T: in RecordRelocation()
817 UseBigObj = NumberOfSections > COFF::MaxNumberOfSections16; in WriteObject()
838 unsigned SymbolSize = UseBigObj ? COFF::Symbol32Size : COFF::Symbol16Size; in WriteObject()
842 file->Data.SectionNumber = COFF::IMAGE_SYM_DEBUG; in WriteObject()
843 file->Data.StorageClass = COFF::IMAGE_SYM_CLASS_FILE; in WriteObject()
879 if (S->Name.size() > COFF::NameSize) in WriteObject()
882 if (S->should_keep() && S->Name.size() > COFF::NameSize) in WriteObject()
907 COFF::IMAGE_COMDAT_SELECT_ASSOCIATIVE) in WriteObject()
936 offset += COFF::Header32Size; in WriteObject()
938 offset += COFF::Header16Size; in WriteObject()
939 offset += COFF::SectionSize * Header.NumberOfSections; in WriteObject()
971 offset += COFF::RelocationSize; in WriteObject()
974 offset += COFF::RelocationSize * Sec->Relocations.size(); in WriteObject()
1009 Section->Header.Characteristics |= COFF::IMAGE_SCN_LNK_NRELOC_OVFL; in WriteObject()
1041 COFF::relocation r; in WriteObject()