Lines Matching refs:XCOFF
69 XCOFF::VisibilityType getVisibilityType() const { in getVisibilityType()
73 XCOFF::StorageClass getStorageClass() const { in getStorageClass()
91 XCOFF::VisibilityType getVisibilityType() const { in getVisibilityType()
108 char Name[XCOFF::NameSize];
141 XCOFF::ReservedSectionNum::N_DEBUG - 1;
147 assert(N.size() <= XCOFF::NameSize && "section name too long"); in SectionEntry()
175 CsectSectionEntry(StringRef N, XCOFF::SectionTypeFlags Flags, bool IsVirtual, in CsectSectionEntry()
178 assert(N.size() <= XCOFF::NameSize && "section name too long"); in CsectSectionEntry()
215 : SectionEntry(N, Flags | XCOFF::STYP_DWARF), DwarfSect(std::move(Sect)), in DwarfSectionEntry()
219 assert(N.size() <= XCOFF::NameSize && "section name too long"); in DwarfSectionEntry()
249 : SectionEntry(N, Flags | XCOFF::STYP_EXCEPT) { in ExceptionSectionEntry()
250 assert(N.size() <= XCOFF::NameSize && "Section too long."); in ExceptionSectionEntry()
371 XCOFF::StorageClass StorageClass);
432 return HasVisibility && !is64Bit() ? XCOFF::AuxFileHeaderSizeShort : 0; in auxiliaryHeaderSize()
452 Strings(StringTableBuilder::XCOFF), in XCOFFObjectWriter()
453 Text(".text", XCOFF::STYP_TEXT, /* IsVirtual */ false, in XCOFFObjectWriter()
455 Data(".data", XCOFF::STYP_DATA, /* IsVirtual */ false,
457 BSS(".bss", XCOFF::STYP_BSS, /* IsVirtual */ true,
459 TData(".tdata", XCOFF::STYP_TDATA, /* IsVirtual */ false,
461 TBSS(".tbss", XCOFF::STYP_TBSS, /* IsVirtual */ true,
463 ExceptionSection(".except", XCOFF::STYP_EXCEPT),
464 CInfoSymSection(".info", XCOFF::STYP_INFO) {}
494 case XCOFF::XMC_PR: in getCsectGroup()
495 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
498 case XCOFF::XMC_RO: in getCsectGroup()
499 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
502 case XCOFF::XMC_RW: in getCsectGroup()
503 if (XCOFF::XTY_CM == MCSec->getCSectType()) in getCsectGroup()
506 if (XCOFF::XTY_SD == MCSec->getCSectType()) in getCsectGroup()
510 case XCOFF::XMC_DS: in getCsectGroup()
512 case XCOFF::XMC_BS: in getCsectGroup()
513 assert(XCOFF::XTY_CM == MCSec->getCSectType() && in getCsectGroup()
517 case XCOFF::XMC_TL: in getCsectGroup()
518 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
522 case XCOFF::XMC_UL: in getCsectGroup()
523 assert(XCOFF::XTY_CM == MCSec->getCSectType() && in getCsectGroup()
527 case XCOFF::XMC_TC0: in getCsectGroup()
528 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
534 case XCOFF::XMC_TC: in getCsectGroup()
535 case XCOFF::XMC_TE: in getCsectGroup()
536 assert(XCOFF::XTY_SD == MCSec->getCSectType() && in getCsectGroup()
541 case XCOFF::XMC_TD: in getCsectGroup()
542 assert((XCOFF::XTY_SD == MCSec->getCSectType() || in getCsectGroup()
543 XCOFF::XTY_CM == MCSec->getCSectType()) && in getCsectGroup()
572 assert(XCOFF::XTY_ER != MCSec->getCSectType() && in executePostLayoutBinding()
602 if (XSym->getVisibilityType() != XCOFF::SYM_V_UNSPECIFIED) in executePostLayoutBinding()
605 if (ContainingCsect->getCSectType() == XCOFF::XTY_ER) { in executePostLayoutBinding()
712 if (Type == XCOFF::RelocationType::R_POS || in recordRelocation()
713 Type == XCOFF::RelocationType::R_TLS || in recordRelocation()
714 Type == XCOFF::RelocationType::R_TLS_LE || in recordRelocation()
715 Type == XCOFF::RelocationType::R_TLS_IE || in recordRelocation()
716 Type == XCOFF::RelocationType::R_TLS_LD) in recordRelocation()
720 else if (Type == XCOFF::RelocationType::R_TLSM) in recordRelocation()
724 else if (Type == XCOFF::RelocationType::R_TOC || in recordRelocation()
725 Type == XCOFF::RelocationType::R_TOCL) { in recordRelocation()
731 if (SymASec->getCSectType() == XCOFF::XTY_ER) { in recordRelocation()
754 if (Type == XCOFF::RelocationType::R_TOC && !isInt<16>(TOCEntryOffset)) in recordRelocation()
759 } else if (Type == XCOFF::RelocationType::R_RBR) { in recordRelocation()
761 assert((SymASec->getMappingClass() == XCOFF::XMC_PR && in recordRelocation()
762 ParentSec->getMappingClass() == XCOFF::XMC_PR) && in recordRelocation()
773 } else if (Type == XCOFF::RelocationType::R_REF) { in recordRelocation()
800 assert(Type == XCOFF::RelocationType::R_POS && in recordRelocation()
806 const uint8_t TypeB = XCOFF::RelocationType::R_NEG; in recordRelocation()
847 return SymbolName.size() > XCOFF::NameSize || is64Bit(); in nameShouldBeInStringTable()
856 char Name[XCOFF::NameSize + 1]; in writeSymbolName()
857 std::strncpy(Name, SymbolName.data(), XCOFF::NameSize); in writeSymbolName()
858 ArrayRef<char> NameRef(Name, XCOFF::NameSize); in writeSymbolName()
892 W.write<uint8_t>(XCOFF::AUX_CSECT); in writeSymbolAuxCsectEntry()
901 return SymbolName.size() > XCOFF::AuxFileEntNameSize; in auxFileSymNameShouldBeInStringTable()
909 W.OS.write_zeros(XCOFF::FileNamePadSize); in writeAuxFileSymName()
911 char Name[XCOFF::AuxFileEntNameSize + 1]; in writeAuxFileSymName()
912 std::strncpy(Name, SymbolName.data(), XCOFF::AuxFileEntNameSize); in writeAuxFileSymName()
913 ArrayRef<char> NameRef(Name, XCOFF::AuxFileEntNameSize); in writeAuxFileSymName()
924 W.write<uint8_t>(XCOFF::AUX_FILE); in writeSymbolAuxFileEntry()
937 W.write<uint8_t>(XCOFF::AUX_SECT); in writeSymbolAuxDwarfEntry()
984 writeSymbolAuxCsectEntry(CSectionRef.SymbolTableIndex, XCOFF::XTY_LD, in writeSymbolEntryForCsectMemberLabel()
993 SectionIndex, /*SymbolType=*/0, XCOFF::C_DWARF); in writeSymbolEntryForDwarfSection()
1000 XCOFF::StorageClass StorageClass) { in writeSymbolEntryForControlSection()
1022 W.write<uint8_t>(XCOFF::AUX_FCN); in writeSymbolAuxFunctionEntry()
1036 W.write<uint8_t>(XCOFF::AUX_EXCEPT); in writeSymbolAuxExceptionEntry()
1040 W.write<uint16_t>(is64Bit() ? XCOFF::XCOFF64 : XCOFF::XCOFF32); in writeFileHeader()
1060 XCOFF::NEW_XCOFF_INTERPRET); // Version. The new interpretation of the in writeAuxFileHeader()
1072 bool IsDwarf = (Sec->Flags & XCOFF::STYP_DWARF) != 0; in writeSectionHeader()
1073 bool IsOvrflo = (Sec->Flags & XCOFF::STYP_OVRFLO) != 0; in writeSectionHeader()
1079 ArrayRef<char> NameRef(Sec->Name, XCOFF::NameSize); in writeSectionHeader()
1104 W.write<uint16_t>((IsOvrflo || Sec->RelocationCount == XCOFF::RelocOverflow) in writeSectionHeader()
1176 LangID = XCOFF::TB_C; in writeSymbolTable()
1183 LangID = XCOFF::TB_Fortran; in writeSymbolTable()
1185 LangID = XCOFF::TB_CPLUSPLUS; in writeSymbolTable()
1188 CpuID = XCOFF::TCPU_PPC64; in writeSymbolTable()
1190 CpuID = XCOFF::TCPU_COM; in writeSymbolTable()
1195 writeSymbolEntry(".file", /*Value=*/0, XCOFF::ReservedSectionNum::N_DEBUG, in writeSymbolTable()
1196 /*SymbolType=*/(LangID << 8) | CpuID, XCOFF::C_FILE, in writeSymbolTable()
1198 writeSymbolAuxFileEntry(FileName, XCOFF::XFT_FN); in writeSymbolTable()
1200 writeSymbolAuxFileEntry(Vers, XCOFF::XFT_CV); in writeSymbolTable()
1206 /*SymbolType=*/0, XCOFF::C_INFO, in writeSymbolTable()
1210 writeSymbolEntryForControlSection(Csect, XCOFF::ReservedSectionNum::N_UNDEF, in writeSymbolTable()
1245 if (!is64Bit() && (RelCount >= static_cast<uint32_t>(XCOFF::RelocOverflow))) { in finalizeRelocationInfo()
1247 SectionEntry SecEntry(".ovrflo", XCOFF::STYP_OVRFLO); in finalizeRelocationInfo()
1261 Sec->RelocationCount = XCOFF::RelocOverflow; in finalizeRelocationInfo()
1275 Sec->RelocationCount == static_cast<uint32_t>(XCOFF::RelocOverflow)) { in calcOffsetToRelocations()
1280 OverflowSec.Address * XCOFF::RelocationSerializationSize32; in calcOffsetToRelocations()
1290 (is64Bit() ? XCOFF::RelocationSerializationSize64 in calcOffsetToRelocations()
1291 : XCOFF::RelocationSerializationSize32); in calcOffsetToRelocations()
1322 (is64Bit() ? (XCOFF::FileHeaderSize64 + in finalizeSectionInfo()
1323 SectionCount * XCOFF::SectionHeaderSize64) in finalizeSectionInfo()
1324 : (XCOFF::FileHeaderSize32 + in finalizeSectionInfo()
1325 SectionCount * XCOFF::SectionHeaderSize32)) + in finalizeSectionInfo()
1393 return EntryNum * (is64Bit() ? XCOFF::ExceptionSectionEntrySize64 in getExceptionSectionSize()
1394 : XCOFF::ExceptionSectionEntrySize32); in getExceptionSectionSize()
1404 return EntryNum * (is64Bit() ? XCOFF::ExceptionSectionEntrySize64 in getExceptionOffset()
1405 : XCOFF::ExceptionSectionEntrySize32); in getExceptionOffset()
1455 if (Section->Flags == XCOFF::STYP_TDATA) { in assignAddressesAndIndices()
1461 if ((Section->Flags == XCOFF::STYP_TBSS) && !HasTDataSection) in assignAddressesAndIndices()
1602 (CsectEntry.Flags == XCOFF::STYP_TDATA) || in writeSectionForControlSectionEntry()
1603 (CsectEntry.Flags == XCOFF::STYP_TBSS)) && in writeSectionForControlSectionEntry()
1744 void XCOFF::addExceptionEntry(MCObjectWriter &Writer, const MCSymbol *Symbol, in addExceptionEntry()
1752 void XCOFF::addCInfoSymEntry(MCObjectWriter &Writer, StringRef Name, in addCInfoSymEntry()