reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/llvm-objcopy/COFF/Writer.cpp
   27   for (Section &Sec : Obj.getMutableSections()) {
   29       const Symbol *Sym = Obj.findSymbol(R.Target);
   41   for (Symbol &Sym : Obj.getMutableSymbols()) {
   47       const Section *Sec = Obj.findSection(Sym.TargetSectionId);
   65           Sec = Obj.findSection(Sym.AssociativeComdatTargetSectionId);
   83       const Symbol *Target = Obj.findSymbol(*Sym.WeakTargetSymbolId);
   95   for (auto &S : Obj.getMutableSections()) {
  112   for (const auto &S : Obj.getSections())
  116   for (const auto &S : Obj.getSymbols())
  122   for (auto &S : Obj.getMutableSections()) {
  131   for (auto &S : Obj.getMutableSymbols()) {
  145   for (auto &S : Obj.getMutableSymbols()) {
  172   if (Obj.IsPE) {
  173     Obj.DosHeader.AddressOfNewExeHeader =
  174         sizeof(Obj.DosHeader) + Obj.DosStub.size();
  174         sizeof(Obj.DosHeader) + Obj.DosStub.size();
  175     SizeOfHeaders += Obj.DosHeader.AddressOfNewExeHeader + sizeof(PEMagic);
  177     FileAlignment = Obj.PeHeader.FileAlignment;
  178     Obj.PeHeader.NumberOfRvaAndSize = Obj.DataDirectories.size();
  178     Obj.PeHeader.NumberOfRvaAndSize = Obj.DataDirectories.size();
  180     PeHeaderSize = Obj.Is64 ? sizeof(pe32plus_header) : sizeof(pe32_header);
  182         PeHeaderSize + sizeof(data_directory) * Obj.DataDirectories.size();
  184   Obj.CoffFileHeader.NumberOfSections = Obj.getSections().size();
  184   Obj.CoffFileHeader.NumberOfSections = Obj.getSections().size();
  187   SizeOfHeaders += sizeof(coff_section) * Obj.getSections().size();
  190   Obj.CoffFileHeader.SizeOfOptionalHeader =
  191       PeHeaderSize + sizeof(data_directory) * Obj.DataDirectories.size();
  198   if (Obj.IsPE) {
  199     Obj.PeHeader.SizeOfHeaders = SizeOfHeaders;
  200     Obj.PeHeader.SizeOfInitializedData = SizeOfInitializedData;
  202     if (!Obj.getSections().empty()) {
  203       const Section &S = Obj.getSections().back();
  204       Obj.PeHeader.SizeOfImage =
  206                   Obj.PeHeader.SectionAlignment);
  211     Obj.PeHeader.CheckSum = 0;
  219   if (SymTabSize == 0 && StrTabSize <= 4 && Obj.IsPE) {
  227   Obj.CoffFileHeader.PointerToSymbolTable = PointerToSymbolTable;
  228   Obj.CoffFileHeader.NumberOfSymbols = NumRawSymbols;
  237   if (Obj.IsPE) {
  238     memcpy(Ptr, &Obj.DosHeader, sizeof(Obj.DosHeader));
  238     memcpy(Ptr, &Obj.DosHeader, sizeof(Obj.DosHeader));
  239     Ptr += sizeof(Obj.DosHeader);
  240     memcpy(Ptr, Obj.DosStub.data(), Obj.DosStub.size());
  240     memcpy(Ptr, Obj.DosStub.data(), Obj.DosStub.size());
  241     Ptr += Obj.DosStub.size();
  246     memcpy(Ptr, &Obj.CoffFileHeader, sizeof(Obj.CoffFileHeader));
  246     memcpy(Ptr, &Obj.CoffFileHeader, sizeof(Obj.CoffFileHeader));
  247     Ptr += sizeof(Obj.CoffFileHeader);
  256     BigObjHeader.Machine = Obj.CoffFileHeader.Machine;
  257     BigObjHeader.TimeDateStamp = Obj.CoffFileHeader.TimeDateStamp;
  265     BigObjHeader.NumberOfSections = Obj.getSections().size();
  266     BigObjHeader.PointerToSymbolTable = Obj.CoffFileHeader.PointerToSymbolTable;
  267     BigObjHeader.NumberOfSymbols = Obj.CoffFileHeader.NumberOfSymbols;
  272   if (Obj.IsPE) {
  273     if (Obj.Is64) {
  274       memcpy(Ptr, &Obj.PeHeader, sizeof(Obj.PeHeader));
  274       memcpy(Ptr, &Obj.PeHeader, sizeof(Obj.PeHeader));
  275       Ptr += sizeof(Obj.PeHeader);
  278       copyPeHeader(PeHeader, Obj.PeHeader);
  280       PeHeader.BaseOfData = Obj.BaseOfData;
  285     for (const auto &DD : Obj.DataDirectories) {
  290   for (const auto &S : Obj.getSections()) {
  297   for (const auto &S : Obj.getSections()) {
  318   uint8_t *Ptr = Buf.getBufferStart() + Obj.CoffFileHeader.PointerToSymbolTable;
  319   for (const auto &S : Obj.getSymbols()) {
  342   if (StrTabBuilder.getSize() > 4 || !Obj.IsPE) {
  363   if (Obj.IsPE)
  374   if (Obj.DataDirectories.size() < DEBUG_DIRECTORY)
  376   const data_directory *Dir = &Obj.DataDirectories[DEBUG_DIRECTORY];
  379   for (const auto &S : Obj.getSections()) {
  407   bool IsBigObj = Obj.getSections().size() > MaxNumberOfSections16;
  408   if (IsBigObj && Obj.IsPE)