Similar pair 0 : old size: 20 bytes, new size: 19 bytes, delta: -1 bytes, sig. sim.: 95.0 %, instr. sim.: 84.3 %

Old: fIStayButDiffer(float) [old/test2.cpp:22(/home/flo/Documents/elf_diff/tests/src/old/test2.cpp)]
New: fIStayButDiffer(char) [new/test2.cpp:21(/home/flo/Documents/elf_diff/tests/src/new/test2.cpp)]


Old
New
f1endbr64f1endbr64
2push   %rbp2push   %rbp
3mov    %rsp,%rbp3mov    %rsp,%rbp
tt4mov    %edi,%eax
4movss  %xmm0,-0x4(%rbp)5mov    %al,-0x4(%rbp)
5movss  -0x4(%rbp),%xmm06movzbl -0x4(%rbp),%eax
6pop    %rbp7pop    %rbp
7ret8ret
89

Tree Representation

similar_symbols
├── display_info [Information that configures how things are displayed]
│   ├── anchor_id = '0' <str> [Unique string identifier token that can be used to generate a HTML anchor for cross references]
│   ├── display_symbol_details = 'True' <bool> [True if symbol details are supposed to be displayed]
│   └── symbol_class = 'similar' <str> [The class of symbol old/new/appeared/disappeared/persisting/similar]
├── id = '0' <int> [The id of the symbol pair]
├── new
│   └── signature_tagged = 'fIStayButDiffer(...HIGHLIGHT_START...ch...HIGHLIGHT_END...a...HIGHLIGHT_START...r...HIGHLIGHT_END...)' <str> [A tagged version of the symbol signature. Taggs '...HIGHLIGHT_START...' and '...HIGHLIGHT_END...' must be replaced accordingly, e.g. for highlighting.]
├── old
│   └── signature_tagged = 'fIStayButDiffer(...HIGHLIGHT_START...flo...HIGHLIGHT_END...a...HIGHLIGHT_START...t...HIGHLIGHT_END...)' <str> [A tagged version of the symbol signature. Taggs '...HIGHLIGHT_START...' and '...HIGHLIGHT_END...' must be replaced accordingly, e.g. for highlighting.]
├── related_symbols [A relation between two symbols]
│   ├── new_symbol
│   │   ├── id = '17' <int> [Unique symbol identifier]
│   │   ├── instructions = 'endbr64
push   %rbp
mov    %rsp,%rbp
mov    %edi,%eax
mov    %al,-0x4(%rbp)
movzbl -0x4(%rbp),%eax
pop    %rbp
ret
' <str> [Code instructions (assembly with possibly high level language code intermixed)]
│   │   ├── is_demangled = 'True' <bool> [True if the symbol name is demangled]
│   │   ├── is_stored_in_program_memory = 'True' <bool> [True if the symbol is stored in program memory]
│   │   ├── name = 'fIStayButDiffer(char)' <str> [The symbol name (demangled if supported)]
│   │   ├── name_mangled = '_Z15fIStayButDifferc' <str> [The mangled symbol name]
│   │   ├── size = '19' <int> [Number of bytes occupied by the symbol]
│   │   ├── source
│   │   │   ├── file_id = '12' <int> [The id of the source file]
│   │   │   └── line = '21' <int> [The line number in the source file where the symbol is defined]
│   │   └── type = 'T' <str> [Type character matching the characters used by the nm binutils tool]
│   ├── old_symbol
│   │   ├── id = '0' <int> [Unique symbol identifier]
│   │   ├── instructions = 'endbr64
push   %rbp
mov    %rsp,%rbp
movss  %xmm0,-0x4(%rbp)
movss  -0x4(%rbp),%xmm0
pop    %rbp
ret
' <str> [Code instructions (assembly with possibly high level language code intermixed)]
│   │   ├── is_demangled = 'True' <bool> [True if the symbol name is demangled]
│   │   ├── is_stored_in_program_memory = 'True' <bool> [True if the symbol is stored in program memory]
│   │   ├── name = 'fIStayButDiffer(float)' <str> [The symbol name (demangled if supported)]
│   │   ├── name_mangled = '_Z15fIStayButDifferf' <str> [The mangled symbol name]
│   │   ├── size = '20' <int> [Number of bytes occupied by the symbol]
│   │   ├── source
│   │   │   ├── file_id = '5' <int> [The id of the source file]
│   │   │   └── line = '22' <int> [The line number in the source file where the symbol is defined]
│   │   └── type = 'T' <str> [Type character matching the characters used by the nm binutils tool]
│   └── size_delta = '-1' <int> [Difference in bytes between the resource occupation of the two symbols]
└── similarities [Symbol similarity ratios]
    ├── instruction = '84.25925925925925' <float> [The percentage of symbol instruction similarity]
    └── signature = '95.0' <float> [The percentage of symbol signature similarity]