Old source: old/test2.cpp:68(/home/flo/Documents/elf_diff/tests/src/old/test2.cpp)
New source: new/test2.cpp:68(/home/flo/Documents/elf_diff/tests/src/new/test2.cpp)
Old | New | ||||
---|---|---|---|---|---|
f | 1 | endbr64 | f | 1 | endbr64 |
2 | push %rbp | 2 | push %rbp | ||
3 | mov %rsp,%rbp | 3 | mov %rsp,%rbp | ||
4 | mov %edi,-0x14(%rbp) | 4 | mov %edi,-0x14(%rbp) | ||
5 | mov -0x14(%rbp),%eax | 5 | mov -0x14(%rbp),%eax | ||
n | n | 6 | lea 0x1(%rax),%edx | ||
7 | mov %edx,%eax | ||||
6 | add %eax,%eax | 8 | add %eax,%eax | ||
n | 7 | add $0x3,%eax | n | 9 | add %edx,%eax |
8 | mov %eax,-0x8(%rbp) | 10 | mov %eax,-0x8(%rbp) | ||
9 | movl $0x0,-0x4(%rbp) | 11 | movl $0x0,-0x4(%rbp) | ||
10 | mov -0x4(%rbp),%eax | 12 | mov -0x4(%rbp),%eax | ||
11 | cmp -0x14(%rbp),%eax | 13 | cmp -0x14(%rbp),%eax | ||
n | 12 | jge aa <_Z21implementationChangedi+0x5d> | n | 14 | jge b1 <_Z21implementationChangedi+0x61> |
13 | mov -0x8(%rbp),%edx | 15 | mov -0x8(%rbp),%eax | ||
14 | mov -0x4(%rbp),%eax | 16 | sub -0x4(%rbp),%eax | ||
15 | add %edx,%eax | ||||
16 | movslq %eax,%rdx | 17 | movslq %eax,%rdx | ||
n | 17 | imul $0x78787879,%rdx,%rdx | n | 18 | imul $0xffffffff88888889,%rdx,%rdx |
18 | shr $0x20,%rdx | 19 | shr $0x20,%rdx | ||
n | n | 20 | add %eax,%edx | ||
19 | sar $0x3,%edx | 21 | sar $0x3,%edx | ||
20 | mov %eax,%ecx | 22 | mov %eax,%ecx | ||
21 | sar $0x1f,%ecx | 23 | sar $0x1f,%ecx | ||
22 | sub %ecx,%edx | 24 | sub %ecx,%edx | ||
23 | mov %edx,-0x8(%rbp) | 25 | mov %edx,-0x8(%rbp) | ||
24 | mov -0x8(%rbp),%ecx | 26 | mov -0x8(%rbp),%ecx | ||
25 | mov %ecx,%edx | 27 | mov %ecx,%edx | ||
26 | shl $0x4,%edx | 28 | shl $0x4,%edx | ||
n | 27 | add %ecx,%edx | n | 29 | sub %ecx,%edx |
28 | sub %edx,%eax | 30 | sub %edx,%eax | ||
29 | mov %eax,-0x8(%rbp) | 31 | mov %eax,-0x8(%rbp) | ||
30 | addl $0x1,-0x4(%rbp) | 32 | addl $0x1,-0x4(%rbp) | ||
t | 31 | jmp 6a <_Z21implementationChangedi+0x1d> | t | 33 | jmp 71 <_Z21implementationChangedi+0x21> |
34 | addl $0x1,-0x8(%rbp) | ||||
32 | mov -0x8(%rbp),%eax | 35 | mov -0x8(%rbp),%eax | ||
33 | pop %rbp | 36 | pop %rbp | ||
34 | ret | 37 | ret | ||
35 | 38 |
persisting_symbol ├── display_info [Information that configures how things are displayed] │ ├── anchor_id = '2' <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 = 'persisting' <str> [The class of symbol old/new/appeared/disappeared/persisting/similar] └── related_symbols [A relation between two symbols] ├── new_symbol │ ├── id = '19' <int> [Unique symbol identifier] │ ├── instructions = 'endbr64 push %rbp mov %rsp,%rbp mov %edi,-0x14(%rbp) mov -0x14(%rbp),%eax lea 0x1(%rax),%edx mov %edx,%eax add %eax,%eax add %edx,%eax mov %eax,-0x8(%rbp) movl $0x0,-0x4(%rbp) mov -0x4(%rbp),%eax cmp -0x14(%rbp),%eax jge b1 <_Z21implementationChangedi+0x61> mov -0x8(%rbp),%eax sub -0x4(%rbp),%eax movslq %eax,%rdx imul $0xffffffff88888889,%rdx,%rdx shr $0x20,%rdx add %eax,%edx sar $0x3,%edx mov %eax,%ecx sar $0x1f,%ecx sub %ecx,%edx mov %edx,-0x8(%rbp) mov -0x8(%rbp),%ecx mov %ecx,%edx shl $0x4,%edx sub %ecx,%edx sub %edx,%eax mov %eax,-0x8(%rbp) addl $0x1,-0x4(%rbp) jmp 71 <_Z21implementationChangedi+0x21> addl $0x1,-0x8(%rbp) mov -0x8(%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 = 'implementationChanged(int)' <str> [The symbol name (demangled if supported)] │ ├── name_mangled = '_Z21implementationChangedi' <str> [The mangled symbol name] │ ├── size = '106' <int> [Number of bytes occupied by the symbol] │ ├── source │ │ ├── file_id = '15' <int> [The id of the source file] │ │ └── line = '68' <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 = '2' <int> [Unique symbol identifier] │ ├── instructions = 'endbr64 push %rbp mov %rsp,%rbp mov %edi,-0x14(%rbp) mov -0x14(%rbp),%eax add %eax,%eax add $0x3,%eax mov %eax,-0x8(%rbp) movl $0x0,-0x4(%rbp) mov -0x4(%rbp),%eax cmp -0x14(%rbp),%eax jge aa <_Z21implementationChangedi+0x5d> mov -0x8(%rbp),%edx mov -0x4(%rbp),%eax add %edx,%eax movslq %eax,%rdx imul $0x78787879,%rdx,%rdx shr $0x20,%rdx sar $0x3,%edx mov %eax,%ecx sar $0x1f,%ecx sub %ecx,%edx mov %edx,-0x8(%rbp) mov -0x8(%rbp),%ecx mov %ecx,%edx shl $0x4,%edx add %ecx,%edx sub %edx,%eax mov %eax,-0x8(%rbp) addl $0x1,-0x4(%rbp) jmp 6a <_Z21implementationChangedi+0x1d> mov -0x8(%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 = 'implementationChanged(int)' <str> [The symbol name (demangled if supported)] │ ├── name_mangled = '_Z21implementationChangedi' <str> [The mangled symbol name] │ ├── size = '98' <int> [Number of bytes occupied by the symbol] │ ├── source │ │ ├── file_id = '7' <int> [The id of the source file] │ │ └── line = '68' <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]