anchor.diff:      Exit(False);
     end;
   
  -  // Calculate some new constants
  +  //
  +  // Okay, everything looks good, so let's figure out where to put the new data.
  +  // We want to write a section at the end of the file and then update the debug
  +  // data directory entry to point to this new section.
  +  //
  +
  +  // Calculate some new constants: SectionRawSize is never going to be smaller
  +  // than the size of the debug data, which is:
  +  // `sizeof(_CV_INFO_PDB70) - 2 + Length('null.pdb') + 1`, that is, 35 bytes.
  +  // The minimum `FileAlignment` is:
  +  // [512 bytes](https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#file-headers).
  +
     SectionRawSize := nh.OptionalHeader.FileAlignment;
     SectionVirtualSize := nh.OptionalHeader.SectionAlignment;
     SectionOffset := s.Size;
  
positive.code:     Inc(section);
    end;
  
    Result := 0;
  end;
  
  
negative.code:     Exit(False);
    end;
  
    //
    // Ensure we have space for an additional section header
    //
  
    debug_writeln(Format('offset=%x', [DWORD(section) - DWORD(s.Memory)+sizeof(_IMAGE_SECTION_HEADER)]));
    debug_writeln(Format('first=%x', [FirstSection.PointerToRawData]));
    if DWORD(section) - DWORD(s.Memory) + sizeof(_IMAGE_SECTION_HEADER) > FirstSection.PointerToRawData then
  