@ diff.proto objdiff.diff" Symbol name ( Rname* demangled_name ( HR demangledName address (Raddress size (Rsize flags ( RflagsB _demangled_name" Instruction address (Raddress size ( Rsize opcode ( Ropcode mnemonic ( Rmnemonic formatted ( R formatted original ( HRoriginal4 arguments ( 2.objdiff.diff.ArgumentR arguments= relocation ( 2.objdiff.diff.RelocationHR relocation$ branch_dest (HR branchDest$ line_number ( HR lineNumberB _originalB _relocationB _branch_destB _line_number" Argument plain_text ( HR plainText9 argument ( 2.objdiff.diff.ArgumentValueHRargumentB relocation ( 2 .objdiff.diff.ArgumentRelocationHR relocation! branch_dest (HR branchDestB value"j ArgumentValue signed (HRsigned unsigned (HRunsigned opaque ( HRopaqueB value" ArgumentRelocation"u Relocation type ( Rtype type_name ( RtypeName6 target ( 2.objdiff.diff.RelocationTargetRtarget"X RelocationTarget, symbol ( 2.objdiff.diff.SymbolRsymbol addend (Raddend" InstructionDiff3 diff_kind (2.objdiff.diff.DiffKindRdiffKind@ instruction ( 2.objdiff.diff.InstructionHR instructionI branch_from ( 2#.objdiff.diff.InstructionBranchFromHR branchFromC branch_to ( 2!.objdiff.diff.InstructionBranchToHRbranchTo5 arg_diff ( 2.objdiff.diff.ArgumentDiffRargDiffB _instructionB _branch_fromB _branch_to"A ArgumentDiff" diff_index ( HR diffIndexB _diff_index"g InstructionBranchFrom+ instruction_index ( RinstructionIndex! branch_index ( R branchIndex"e InstructionBranchTo+ instruction_index ( RinstructionIndex! branch_index ( R branchIndex" FunctionDiff, symbol ( 2.objdiff.diff.SymbolRsymbolA instructions ( 2.objdiff.diff.InstructionDiffR instructions( match_percent (HR matchPercentB _match_percent"^ DataDiff* kind (2.objdiff.diff.DiffKindRkind data ( Rdata size (Rsize" SectionDiff name ( Rname- kind (2.objdiff.diff.SectionKindRkind size (Rsize address (Raddress8 functions ( 2.objdiff.diff.FunctionDiffR functions* data ( 2.objdiff.diff.DataDiffRdata( match_percent (HR matchPercentB _match_percent"C ObjectDiff5 sections ( 2.objdiff.diff.SectionDiffRsections" DiffResult1 left ( 2.objdiff.diff.ObjectDiffHRleft3 right ( 2.objdiff.diff.ObjectDiffHRrightB _leftB _right*y SymbolFlag SYMBOL_NONE SYMBOL_GLOBAL SYMBOL_LOCAL SYMBOL_WEAK SYMBOL_COMMON SYMBOL_HIDDEN*z DiffKind DIFF_NONE DIFF_REPLACE DIFF_DELETE DIFF_INSERT DIFF_OP_MISMATCH DIFF_ARG_MISMATCH*k SectionKind SECTION_UNKNOWN SECTION_TEXT SECTION_DATA SECTION_BSS SECTION_COMMONJ(         A symbol  !  Name of the symbol    +  % Demangled name of the symbol        #$    Symbol address          Symbol size      $  Bitmask of SymbolFlag     %  Symbol visibility flags                    ) 2 A single parsed instruction  "  Instruction address      ! Instruction size ! ! ! ! # Instruction opcode # #  # # % Instruction mnemonic % %  % + ' Instruction formatted string ' '  ' 9 ), Original (unsimplified) instruction string ) )  ) ) $ +" Instruction arguments + +  + + ! % -% Instruction relocation - -  - -#$ - /" Instruction branch destination / /  / / ! &  1# Instruction line number  1  1   1  1 " % 5@ An instruction argument 5 6? 6  8 Plain text 8 8  8  : Value : : :  <& Relocation < <! <$% ! > Branch destination > >  > + CL An instruction argument value C DK D  F Signed integer F F  F  H Unsigned integer H H  H  J Opaque value J J  J 2 OP& Marker type for relocation arguments O RV R S S S S T T T  T U U U U X[ X Y Y Y  Y Z Z Z Z ]c ] ^ ^ ^  ^ _' _ _  _" _%& `1 ` ` `!, `/0 a- a a  a( a+, b% b b  b b#$ eg e f! f f  f f ip i j j j k k k l l l m m m n n n o o o  ru  r  s(  s  s   s#  s&'  t  t  t   t  wz  w  x  x  x   x  y  y  y   y  |  |  }  }  }   }  ~,  ~  ~   ~'  ~*+  #         !"                      '   May be larger than data                                             &       !  $%             #         !"                    $     "#              bproto3 G report.protoobjdiff.report" Measures. fuzzy_match_percent (RfuzzyMatchPercent total_code (R totalCode! matched_code (R matchedCode0 matched_code_percent (RmatchedCodePercent total_data (R totalData! matched_data (R matchedData0 matched_data_percent (RmatchedDataPercent' total_functions ( RtotalFunctions+ matched_functions ( RmatchedFunctions: matched_functions_percent (RmatchedFunctionsPercent# complete_code (R completeCode2 complete_code_percent (RcompleteCodePercent# complete_data (R completeData2 complete_data_percent (RcompleteDataPercent total_units ( R totalUnits% complete_units ( R completeUnits" Report4 measures ( 2.objdiff.report.MeasuresRmeasures0 units ( 2.objdiff.report.ReportUnitRunits version ( Rversion> categories ( 2.objdiff.report.ReportCategoryR categories"j ReportCategory id ( Rid name ( Rname4 measures ( 2.objdiff.report.MeasuresRmeasures" ReportUnit name ( Rname4 measures ( 2.objdiff.report.MeasuresRmeasures6 sections ( 2.objdiff.report.ReportItemRsections8 functions ( 2.objdiff.report.ReportItemR functionsC metadata ( 2".objdiff.report.ReportUnitMetadataHRmetadataB _metadata" ReportUnitMetadata complete (HRcomplete$ module_name ( HR moduleName module_id ( HRmoduleId$ source_path ( HR sourcePath/ progress_categories ( RprogressCategories* auto_generated (HR autoGeneratedB _completeB _module_nameB _module_idB _source_pathB _auto_generated" ReportItem name ( Rname size (Rsize. fuzzy_match_percent (RfuzzyMatchPercentC metadata ( 2".objdiff.report.ReportItemMetadataHRmetadataB _metadata" ReportItemMetadata* demangled_name ( HR demangledName, virtual_address (HRvirtualAddressB _demangled_nameB _virtual_address"b ChangesInput* from ( 2.objdiff.report.ReportRfrom& to ( 2.objdiff.report.ReportRto" Changes, from ( 2.objdiff.report.MeasuresRfrom( to ( 2.objdiff.report.MeasuresRto0 units ( 2.objdiff.report.ChangeUnitRunits" ChangeUnit name ( Rname1 from ( 2.objdiff.report.MeasuresHRfrom- to ( 2.objdiff.report.MeasuresHRto6 sections ( 2.objdiff.report.ChangeItemRsections8 functions ( 2.objdiff.report.ChangeItemR functionsC metadata ( 2".objdiff.report.ReportUnitMetadataHRmetadataB _fromB _toB _metadata" ChangeItem name ( Rname7 from ( 2.objdiff.report.ChangeItemInfoHRfrom3 to ( 2.objdiff.report.ChangeItemInfoHRtoC metadata ( 2".objdiff.report.ReportItemMetadataHRmetadataB _fromB _toB _metadata"T ChangeItemInfo. fuzzy_match_percent (RfuzzyMatchPercent size (RsizeJ0       0 &$ Progress info for a report or unit  T  G Overall match percent, including partially matched functions and data    *   Total size of code in bytes       /  " Fully matched code size in bytes       )  ! Fully matched code percent       *  Total size of data in bytes     / " Fully matched data size in bytes     ) ! Fully matched data percent    (  Total number of functions     &  Fully matched functions     .  '! Fully matched functions percent    !  $& 9  , Completed (or "linked") code size in bytes        3  #& Completed (or "linked") code percent       " 9  , Completed (or "linked") data size in bytes        3  !#& Completed (or "linked") data percent  !  !  ! " $ # Total number of units # #  # , % Completed (or "linked") units % %  % % )2 Project progress report ) $ + Overall progress info + +  + ' -  Units within this report - -  - -  / Report version / /  / " 1) Progress categories 1 1  1$ 1'( 4; 4 % 6 The ID of the category 6 6 6 ' 8 The name of the category 8 8 8 . :! Progress info for this category : :  : ? >I3 A unit of the report (usually a translation unit) > # @ The name of the unit @ @ @ * B Progress info for this unit B B  B ( D# Sections within this unit D D  D D!" ) F$ Functions within this unit F F  F F"# + H+ Extra metadata for this unit H H  H& H)* ' LY Extra metadata for a unit L D N7 Whether this unit is marked as complete (or "linked") N N  N N : P"- The name of the module this unit belongs to P P  P P ! 8 R + The ID of the module this unit belongs to R R  R R 7 T"* The path to the source file of this unit T T  T T ! 0 V*# Progress categories for this unit V V  V% V() O X#B Whether this unit is automatically generated (not user-provided) X X  X X!" 1 \e% A section or function within a unit \ # ^ The name of the item ^ ^ ^ , ` The size of the item in bytes ` ` ` 6 b ) The overall match percent for this item b b b + d+ Extra metadata for this item d d  d& d)* ( hm Extra metadata for an item h 1 j%$ The demangled name of the function j j  j j#$ = l&0 The virtual address of the function or section l l  l! l$% ? pu3 A pair of reports to compare and generate changes p " r The previous report r r r ! t The current report t t t ) x Changes between two reports x 8 z+ The progress info for the previous report z z  z 7 |* The progress info for the current report | | | ! ~  Units that changed ~ ~  ~ ~    A changed unit   $   The name of the unit       ;  - The previous progress info (omitted if new)          >  0 The current progress info (omitted if removed)          %  # Sections that changed         !" &  $ Functions that changed         "# ,  + Extra metadata for this unit       &  )* -   A changed section or function   $   The name of the item       ;  #- The previous progress info (omitted if new)         !" >  !0 The current progress info (omitted if removed)          ,  + Extra metadata for this item       &  )* 7  ) Progress info for a section or function   7   ) The overall match percent for this item       -   The size of the item in bytes      bproto3