Files
objdiff/objdiff-core/protos/proto_descriptor.bin
T

1659 lines
17 KiB
Plaintext
Raw Normal View History

2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00
ÜA
2024-08-20 21:40:32 -06:00
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 ( HRoriginalˆ4
arguments ( 2.objdiff.diff.ArgumentR arguments=
relocation ( 2.objdiff.diff.RelocationHR
relocationˆ$
branch_dest (HR
branchDestˆ$
line_number
(
HR
lineNumberˆB
_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
2025-02-20 17:48:00 -07:00
value"
ArgumentRelocation"u
Relocation
type (
2024-08-20 21:40:32 -06:00
Rtype
type_name ( RtypeName6
target ( 2.objdiff.diff.RelocationTargetRtarget"M
RelocationTarget!
symbol_index (
R symbolIndex
addend (Raddend"€
InstructionDiffRow3
diff_kind (2.objdiff.diff.DiffKindRdiffKind@
instruction ( 2.objdiff.diff.InstructionHR instructionˆI
branch_from ( 2#.objdiff.diff.InstructionBranchFromHR
branchFromˆC
branch_to ( 2!.objdiff.diff.InstructionBranchToHRbranchToˆ5
arg_diff ( 2.objdiff.diff.ArgumentDiffRargDiffB
_instructionB
_branch_fromB
_branch_to"A
ArgumentDiff"
2025-02-20 17:48:00 -07:00
2024-12-17 21:18:45 -07:00
diff_index (
HR diffIndexˆB
2025-02-20 17:48:00 -07:00
_diff_index"g
InstructionBranchFrom+
instruction_index (
RinstructionIndex!
branch_index (
R branchIndex"e
2024-08-20 21:40:32 -06:00
InstructionBranchTo+
instruction_index (
RinstructionIndex!
2025-02-20 17:48:00 -07:00
branch_index (
2024-08-20 21:40:32 -06:00
R branchIndex"ÿ
SymbolDiff,
symbol ( 2.objdiff.diff.SymbolRsymbolK
2025-02-20 17:48:00 -07:00
instruction_rows ( 2 .objdiff.diff.InstructionDiffRowRinstructionRows(
2024-08-20 21:40:32 -06:00
match_percent (HR matchPercentˆ(
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
target_symbol (
HR targetSymbolˆB
2025-02-20 17:48:00 -07:00
_match_percentB
_target_symbol"^
2024-08-20 21:40:32 -06:00
DataDiff*
kind (2.objdiff.diff.DiffKindRkind
data ( Rdata
size (Rsize"ì
SectionDiff
name ( Rname-
kind (2.objdiff.diff.SectionKindRkind
size (Rsize
address (Raddress*
data ( 2.objdiff.diff.DataDiffRdata(
2024-12-17 21:18:45 -07:00
match_percent (HR matchPercentˆB
_match_percentJ"w
2024-08-20 21:40:32 -06:00
ObjectDiff5
sections ( 2.objdiff.diff.SectionDiffRsections2
symbols ( 2.objdiff.diff.SymbolDiffRsymbols"‡
DiffResult1
left ( 2.objdiff.diff.ObjectDiffHRleftˆ3
2025-02-20 17:48:00 -07:00
right ( 2.objdiff.diff.ObjectDiffHRrightˆB
2024-08-20 21:40:32 -06:00
_leftB
_right*y
SymbolFlag
2025-02-20 17:48:00 -07:00
SYMBOL_NONE
2024-08-20 21:40:32 -06:00
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*W
SectionKind
SECTION_UNKNOWN
SECTION_TEXT
SECTION_DATA
SECTION_BSSJŒ*
¤

 




A symbol

!
 Name of the symbol



+
 % Demangled name of the symbol
 
 
 
 #$

  Symbol address
 
 
 



Symbol size





$
 Bitmask of SymbolFlag

 

%
 Symbol visibility flags




2024-12-17 21:18:45 -07:00
2024-08-20 21:40:32 -06:00


2024-12-17 21:18:45 -07:00
2024-08-20 21:40:32 -06:00













)
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
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
S
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
T
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
T
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
T 
T
U
U
U
U
2025-02-20 17:48:00 -07:00
X[
2024-08-20 21:40:32 -06:00
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
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
x
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
x
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
x 
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
x
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
y
2025-02-20 17:48:00 -07:00

2024-12-17 21:18:45 -07:00
y
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
y 
2024-12-17 21:18:45 -07:00
2025-02-20 17:48:00 -07:00

2024-12-17 21:18:45 -07:00
y
2025-02-20 17:48:00 -07:00
2024-12-17 21:18:45 -07:00
 |
2025-02-20 17:48:00 -07:00
 |
 }
 }
 } 
2024-12-17 21:18:45 -07:00
 }
2025-02-20 17:48:00 -07:00
 ~3
2024-12-17 21:18:45 -07:00
 ~
2025-02-20 17:48:00 -07:00
 ~ 
 ~.
2024-12-17 21:18:45 -07:00
2025-02-20 17:48:00 -07:00
 ~12
 #
 
2024-12-17 21:18:45 -07:00
2025-02-20 17:48:00 -07:00
  
2024-12-17 21:18:45 -07:00
2025-02-20 17:48:00 -07:00
 
2024-12-17 21:18:45 -07:00
2025-02-20 17:48:00 -07:00
 !"
Z
 $L The symbol index in the _other_ object that this symbol was diffed against
 
  
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00
 
2024-08-20 21:40:32 -06:00
 "#
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
 
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
 
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
 
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
 
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00
  
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00
 
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00
 
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00
 
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00
 
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00
 
2024-08-20 21:40:32 -06:00
'
2025-02-20 17:48:00 -07:00
 ˆ May be larger than data
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
 ˆ
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
 ˆ
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
 ˆ
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
Œ
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
Œ
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
Œ
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
Œ
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00


2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00




2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
Ž
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
Ž
2025-02-20 17:48:00 -07:00

Ž

2024-08-20 21:40:32 -06:00
Ž
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
 
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00













2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
 
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00


2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
#
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
2025-02-20 17:48:00 -07:00

2024-08-20 21:40:32 -06:00
 
2025-02-20 17:48:00 -07:00
2024-08-20 21:40:32 -06:00

2025-02-20 17:48:00 -07:00


!"
š







˜
˜
˜
2025-03-08 14:39:15 -07:00



œŸ
œ
2024-08-20 21:40:32 -06:00
$

 

"#
ž"
ž
ž 
ž
2025-03-08 14:39:15 -07:00
ž !
¡¤
2024-08-20 21:40:32 -06:00
¡
¢
¢
¢ 
2024-08-20 21:40:32 -06:00
¢
¢
£
£
2024-08-20 21:40:32 -06:00
£ 
£
£bproto3
2024-08-20 21:40:32 -06:00
å0
report.protoobjdiff.report"Ê
Report4
measures ( 2.objdiff.report.MeasuresRmeasures0
units ( 2.objdiff.report.ReportUnitRunits
version (
Rversion>
categories ( 2.objdiff.report.ReportCategoryR
categories"®
Measures.
2025-03-08 14:39:15 -07:00
fuzzy_match_percent (RfuzzyMatchPercent
2024-08-20 21:40:32 -06:00
total_code (R totalCode!
matched_code (R matchedCode0
matched_code_percent (RmatchedCodePercent
2025-03-08 14:39:15 -07:00
total_data (R totalData!
matched_data (R matchedData0
2024-08-20 21:40:32 -06:00
matched_data_percent (RmatchedDataPercent'
total_functions (
RtotalFunctions+
2025-03-08 14:39:15 -07:00
matched_functions (
RmatchedFunctions:
matched_functions_percent
2024-08-20 21:40:32 -06:00
(RmatchedFunctionsPercent#
2025-03-08 14:39:15 -07:00
complete_code (R completeCode2
2024-08-20 21:40:32 -06:00
complete_code_percent (RcompleteCodePercent#
2025-03-08 14:39:15 -07:00
complete_data
2024-08-20 21:40:32 -06:00
(R completeData2
2025-03-08 14:39:15 -07:00
complete_data_percent (RcompleteDataPercent
total_units (
R
totalUnits%
2024-08-20 21:40:32 -06:00
complete_units (
2025-03-08 14:39:15 -07:00
R
completeUnits"j
ReportCategory
id ( Rid
name ( Rname4
measures ( 2.objdiff.report.MeasuresRmeasures"š
ReportUnit
name ( Rname4
measures ( 2.objdiff.report.MeasuresRmeasures6
2024-08-20 21:40:32 -06:00
sections ( 2.objdiff.report.ReportItemRsections8
functions ( 2.objdiff.report.ReportItemR functionsC
metadata ( 2".objdiff.report.ReportUnitMetadataHRmetadataˆB
_metadata"Î
2025-03-08 14:39:15 -07:00
ReportUnitMetadata
2024-08-20 21:40:32 -06:00
complete (HRcompleteˆ$
2025-03-08 14:39:15 -07:00
module_name ( HR
moduleNameˆ
2025-03-08 14:39:15 -07:00
module_id (
HRmoduleIdˆ$
source_path ( HR
2025-03-08 14:39:15 -07:00
sourcePathˆ/
progress_categories ( RprogressCategories*
auto_generated (HR
2025-03-08 14:39:15 -07:00
autoGeneratedˆB
_completeB
2025-03-08 14:39:15 -07:00
_module_nameB
2025-03-08 14:39:15 -07:00
_module_idB
_source_pathB
_auto_generated"¶
ReportItem
name ( Rname
size (Rsize.
fuzzy_match_percent (RfuzzyMatchPercentC
metadata ( 2".objdiff.report.ReportItemMetadataHRmetadataˆB
_metadata"•
ReportItemMetadata*
demangled_name ( HR
demangledNameˆ,
virtual_address (HRvirtualAddressˆB
_demangled_nameB
_virtual_addressJ“!
m

 


%
 Project progress report

$
 Overall progress info

 

'
   Units within this report
 
 
 
 

  Report version
 
 
 
"

) Progress categories





$

'(
0
2$ 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

'

' 
2024-08-20 21:40:32 -06:00

'
2024-08-20 21:40:32 -06:00
3
 )#& Completed (or "linked") code percent
2024-08-20 21:40:32 -06:00
 )
 )
2024-08-20 21:40:32 -06:00
 ) "
9
 +, Completed (or "linked") data size in bytes
2024-08-20 21:40:32 -06:00
2024-08-20 21:40:32 -06:00
 +
 + 
2024-08-20 21:40:32 -06:00
 +
2024-08-20 21:40:32 -06:00
3

-#& Completed (or "linked") data percent
2024-08-20 21:40:32 -06:00

-
2024-08-20 21:40:32 -06:00

-
2024-08-20 21:40:32 -06:00

- "
$
2024-08-20 21:40:32 -06:00
/ Total number of units
2024-08-20 21:40:32 -06:00
/
/ 
2024-08-20 21:40:32 -06:00
/
2024-08-20 21:40:32 -06:00
,
1 Completed (or "linked") units
1
1 
1
4;
2024-08-20 21:40:32 -06:00
4
%
2024-08-20 21:40:32 -06:00
6 The ID of the category
2024-08-20 21:40:32 -06:00
6
6
2024-08-20 21:40:32 -06:00
6
2024-08-20 21:40:32 -06:00
'
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
2024-08-20 21:40:32 -06:00
(
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 
2025-03-08 14:39:15 -07:00
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
2025-03-08 14:39:15 -07:00
d
d 
2025-03-08 14:39:15 -07:00
d&
2025-03-08 14:39:15 -07:00
d)*
(
2025-03-08 14:39:15 -07:00
hm Extra metadata for an item
2025-03-08 14:39:15 -07:00
2025-03-08 14:39:15 -07:00
h
1
2025-03-08 14:39:15 -07:00
j%$ The demangled name of the function
2025-03-08 14:39:15 -07:00
j
2025-03-08 14:39:15 -07:00
j 
2025-03-08 14:39:15 -07:00
j
2025-03-08 14:39:15 -07:00
j#$
=
l&0 The virtual address of the function or section
2025-03-08 14:39:15 -07:00
2025-03-08 14:39:15 -07:00
l
2025-03-08 14:39:15 -07:00
l 
l!
2025-03-08 14:39:15 -07:00
l$%bproto3
2025-03-08 14:39:15 -07:00

2025-03-08 14:39:15 -07:00
changes.protoobjdiff.report report.proto"b
ChangesInput*
from ( 2.objdiff.report.ReportRfrom&
2025-03-08 14:39:15 -07:00
to ( 2.objdiff.report.ReportRto"“
Changes,
from ( 2.objdiff.report.MeasuresRfrom(
2025-03-08 14:39:15 -07:00
to ( 2.objdiff.report.MeasuresRto0
units ( 2.objdiff.report.ChangeUnitRunits"Ö
2025-03-08 14:39:15 -07:00
ChangeUnit
2025-03-08 14:39:15 -07:00
name ( Rname1
from ( 2.objdiff.report.MeasuresHRfromˆ-
to ( 2.objdiff.report.MeasuresHRtoˆ6
2025-03-08 14:39:15 -07:00
sections ( 2.objdiff.report.ChangeItemRsections8
functions ( 2.objdiff.report.ChangeItemR functionsC
metadata ( 2".objdiff.report.ReportUnitMetadataHRmetadataˆB
2025-03-08 14:39:15 -07:00
_fromB
_toB
2025-03-08 14:39:15 -07:00
_metadata"ð
2025-03-08 14:39:15 -07:00
ChangeItem
name ( Rname7
from ( 2.objdiff.report.ChangeItemInfoHRfromˆ3
to ( 2.objdiff.report.ChangeItemInfoHRtoˆC
2025-03-08 14:39:15 -07:00
metadata ( 2".objdiff.report.ReportItemMetadataHRmetadataˆB
_fromB
_toB
_metadata"T
ChangeItemInfo.
fuzzy_match_percent (RfuzzyMatchPercent
size (RsizeJÃ
:

 



?
 3 A pair of reports to compare and generate changes

"
  The previous report
 

 
!
  The current report
 

2025-03-08 14:39:15 -07:00
 
)
2025-03-08 14:39:15 -07:00
 Changes between two reports
2025-03-08 14:39:15 -07:00

8
+ The progress info for the previous report

2025-03-08 14:39:15 -07:00
2025-03-08 14:39:15 -07:00
 

2025-03-08 14:39:15 -07:00
7
* The progress info for the current report


2025-03-08 14:39:15 -07:00

!
  Units that changed
2025-03-08 14:39:15 -07:00

 



& 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
#
# 
#
#"#
2025-03-08 14:39:15 -07:00
+
%+ Extra metadata for this unit
2025-03-08 14:39:15 -07:00
%
%