Lines Matching defs:CodeSignature
435 // NOTE: This CodeSignature section behaviour must be kept in sync with that
441 // The CodeSignature section is the last section in the MachO binary and
445 // (HashReadStart) to just before the start of the CodeSignature section
448 const CodeSignatureInfo &CodeSignature = LayoutBuilder.getCodeSignature();
452 uint8_t *HashReadEnd = BufferStart + CodeSignature.StartOffset;
454 // The CodeSignature section begins with a header, after which the hashes
456 uint8_t *HashWriteStart = HashReadEnd + CodeSignature.AllHeadersSize;
473 const uint32_t FileNamePad = CodeSignature.AllHeadersSize -
474 CodeSignature.FixedHeadersSize -
475 CodeSignature.OutputFileName.size();
480 write32be(&SuperBlob->length, CodeSignature.Size);
484 write32be(&BlobIndex->offset, CodeSignature.BlobHeadersSize);
486 HashReadEnd + CodeSignature.BlobHeadersSize);
489 CodeSignature.Size - CodeSignature.BlobHeadersSize);
494 CodeSignature.OutputFileName.size() + FileNamePad);
497 write32be(&CodeDirectory->nCodeSlots, CodeSignature.BlockCount);
498 write32be(&CodeDirectory->codeLimit, CodeSignature.StartOffset);
499 CodeDirectory->hashSize = static_cast<uint8_t>(CodeSignature.HashSize);
502 CodeDirectory->pageSize = CodeSignature.BlockSizeShift;
515 memcpy(Id, CodeSignature.OutputFileName.begin(),
516 CodeSignature.OutputFileName.size());
517 memset(Id + CodeSignature.OutputFileName.size(), 0, FileNamePad);
526 static_cast<size_t>(CodeSignature.BlockSize)));
530 assert(Hash.size() == CodeSignature.HashSize);
531 memcpy(CurrHashWritePosition, Hash.data(), CodeSignature.HashSize);
532 CurrHashReadPosition += CodeSignature.BlockSize;
533 CurrHashWritePosition += CodeSignature.HashSize;
546 msync(BufferStart, CodeSignature.StartOffset + CodeSignature.Size,