Old: Test::f(int, int) [/home/flo/Tmp/elf_diff/testing/src/old/test.cpp:37]
New: Test1::g(float, float) [/home/flo/Tmp/elf_diff/testing/src/new/test.cpp:38]
| Old | New | ||||
|---|---|---|---|---|---|
| f | 1 | endbr64 | f | 1 | endbr64 |
| 2 | push %rbp | 2 | push %rbp | ||
| 3 | mov %rsp,%rbp | 3 | mov %rsp,%rbp | ||
| n | 4 | mov %edi,-0x4(%rbp) | n | 4 | mov %rdi,-0x8(%rbp) |
| 5 | mov %esi,-0x8(%rbp) | 5 | movss %xmm0,-0xc(%rbp) | ||
| 6 | movss %xmm1,-0x10(%rbp) | ||||
| 6 | mov $0x2a,%eax | 7 | mov $0x1,%eax | ||
| 7 | pop %rbp | 8 | pop %rbp | ||
| 8 | ret | 9 | ret | ||
| t | 9 | nop | t | ||
| 10 | 10 | ||||
similar_symbols
├── display_info [Information that configures how things are displayed]
│ ├── anchor_id = '3' <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 = '6' <int> [The id of the symbol pair]
├── new
│ └── signature_tagged = 'Test...HIGHLIGHT_START...1...HIGHLIGHT_END...::...HIGHLIGHT_START...g(...HIGHLIGHT_END...f...HIGHLIGHT_START...loa...HIGHLIGHT_END...t, ...HIGHLIGHT_START...floa...HIGHLIGHT_END...t)' <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 = 'Test::f...HIGHLIGHT_START...(in...HIGHLIGHT_END...t, ...HIGHLIGHT_START...in...HIGHLIGHT_END...t)' <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 = '11' <int> [Unique symbol identifier]
│ │ ├── instructions = 'endbr64
push %rbp
mov %rsp,%rbp
mov %rdi,-0x8(%rbp)
movss %xmm0,-0xc(%rbp)
movss %xmm1,-0x10(%rbp)
mov $0x1,%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 = 'Test1::g(float, float)' <str> [The symbol name (demangled if supported)]
│ │ ├── name_mangled = '_ZN5Test11gEff' <str> [The mangled symbol name]
│ │ ├── size = '29' <int> [Number of bytes occupied by the symbol]
│ │ ├── source
│ │ │ ├── file_id = '11' <int> [The id of the source file]
│ │ │ └── line = '38' <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 = '3' <int> [Unique symbol identifier]
│ │ ├── instructions = 'endbr64
push %rbp
mov %rsp,%rbp
mov %edi,-0x4(%rbp)
mov %esi,-0x8(%rbp)
mov $0x2a,%eax
pop %rbp
ret
nop
' <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 = 'Test::f(int, int)' <str> [The symbol name (demangled if supported)]
│ │ ├── name_mangled = '_ZN4Test1fEii' <str> [The mangled symbol name]
│ │ ├── size = '21' <int> [Number of bytes occupied by the symbol]
│ │ ├── source
│ │ │ ├── file_id = '4' <int> [The id of the source file]
│ │ │ └── line = '37' <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 = '8' <int> [Difference in bytes between the resource occupation of the two symbols]
└── similarities [Symbol similarity ratios]
├── instruction = '81.36882129277566' <float> [The percentage of symbol instruction similarity]
└── signature = '66.66666666666666' <float> [The percentage of symbol signature similarity]