Last active
July 21, 2020 13:25
-
-
Save kaspar030/5b074de5ea09b6b52f5984c037191064 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
-*- coding: utf-8 -*- | |
-*- mode: python -*- | |
elf_diff | |
Copyright (C) 2019 Noseglasses ([email protected]) | |
This program is free software: you can redistribute it and/or modify it under it under | |
the terms of the GNU General Public License as published by the Free Software | |
Foundation, version 3. | |
This program is distributed in the hope that it will be useful, but WITHOUT but WITHOUT | |
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | |
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more | |
details. | |
You should have received a copy of the GNU General Public License along with along with | |
this program. If not, see <http://www.gnu.org/licenses/>. | |
--> | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset=utf-8> | |
<meta name="robots" content="noindex"> | |
<title>ELF Binary Comparison - (c) 2019 by noseglasses</title> | |
<script src="/home/kaspar/src/elf_diff/bin/../js/sorttable.js"></script> | |
<link rel="stylesheet" href="/home/kaspar/src/elf_diff/bin/../css/elf_diff_general.css"> | |
<style> | |
table.size_overview th:nth-child(1) { text-align: left; } | |
table.size_overview th:nth-child(2) { text-align: right; } | |
table.size_overview th:nth-child(3) { text-align: right; } | |
table.size_overview th:nth-child(4) { text-align: right; } | |
table.size_overview td:nth-child(1) { text-align: left; } | |
table.size_overview td:nth-child(2) { text-align: right; font-family: monospace;} | |
table.size_overview td:nth-child(3) { text-align: right; font-family: monospace;} | |
table.size_overview td:nth-child(4) { text-align: right; font-family: monospace;} | |
table.persisting_symbols th:nth-child(1) { text-align: left; } | |
table.persisting_symbols th:nth-child(2) { text-align: right; } | |
table.persisting_symbols th:nth-child(3) { text-align: right; } | |
table.persisting_symbols th:nth-child(4) { text-align: right; } | |
table.persisting_symbols th:nth-child(5) { text-align: right; } | |
table.persisting_symbols td:nth-child(1) { text-align: left; font-family: monospace;} | |
table.persisting_symbols td:nth-child(2) { text-align: right; font-family: monospace;} | |
table.persisting_symbols td:nth-child(3) { text-align: right; font-family: monospace;} | |
table.persisting_symbols td:nth-child(4) { text-align: right; font-family: monospace;} | |
table.persisting_symbols td:nth-child(5) { text-align: right; font-family: monospace;} | |
table.quad_col th:nth-child(1) { text-align: left; } | |
table.quad_col th:nth-child(2) { text-align: right; } | |
table.quad_col th:nth-child(3) { text-align: right; } | |
table.quad_col th:nth-child(4) { text-align: right; } | |
table.quad_col th:nth-child(5) { text-align: right; } | |
table.quad_col td:nth-child(1) { text-align: left; font-family: monospace;} | |
table.quad_col td:nth-child(2) { text-align: right; font-family: monospace;} | |
table.quad_col td:nth-child(3) { text-align: right; font-family: monospace;} | |
table.quad_col td:nth-child(4) { text-align: right; font-family: monospace;} | |
table.quad_col td:nth-child(5) { text-align: right; font-family: monospace;} | |
table.similar_symbols th:nth-child(1) { text-align: left; } | |
table.similar_symbols th:nth-child(2) { text-align: left; } | |
table.similar_symbols th:nth-child(3) { text-align: right; } | |
table.similar_symbols th:nth-child(4) { text-align: right; } | |
table.similar_symbols th:nth-child(5) { text-align: right; } | |
table.similar_symbols td:nth-child(1) { text-align: left; font-family: monospace;} | |
table.similar_symbols td:nth-child(2) { text-align: left; font-family: monospace;} | |
table.similar_symbols td:nth-child(3) { text-align: right; font-family: monospace;} | |
table.similar_symbols td:nth-child(4) { text-align: right; font-family: monospace;} | |
table.similar_symbols td:nth-child(5) { text-align: right; font-family: monospace;} | |
table.bin_col th:nth-child(1) { text-align: left; } | |
table.bin_col th:nth-child(2) { text-align: right; } | |
table.bin_col th:nth-child(3) { text-align: right; } | |
table.bin_col td:nth-child(1) { text-align: left; font-family: monospace;} | |
table.bin_col td:nth-child(2) { text-align: right; font-family: monospace;} | |
table.bin_col td:nth-child(3) { text-align: right; font-family: monospace;} | |
table.diff td {font-family: monospace;} | |
</style> | |
</head> | |
<body> | |
<H1>ELF Binary Comparison</H1> | |
generated: 2020-07-21 15:17:13 | |
<H2>Binaries</H2> | |
<p>old: good.elf</p> | |
<p>new: bad.elf</p> | |
<H2>Resource Consumption</H2> | |
<H3>Program Storage</H3> | |
<table class = "fixed_table size_overview"> | |
<col align="left"> | |
<col align="right"> | |
<col align="right"> | |
<col align="right"> | |
<thead><tr><th></th><th>Old/bytes</th><th>New/bytes</th><th>Delta/bytes</th></thead> | |
<tbody> | |
<tr><td>overall</td><td>11495</td><td>11495</td><td><span class="unchanged number">+0</span></td></tr> | |
<tr><td>text</td><td>11353</td><td>11353</td><td><span class="unchanged number">+0</span></td></tr> | |
<tr><td>data</td><td>142</td><td>142</td><td><span class="unchanged number">+0</span></td></tr> | |
</tbody> | |
</table> | |
<H3>Static RAM</H3> | |
<table class = "fixed_table size_overview"> | |
<col align="left"> | |
<col align="right"> | |
<col align="right"> | |
<col align="right"> | |
<thead><tr><th></th><th>Old/bytes</th><th>New/bytes</th><th>Delta/bytes</th></thead> | |
<tbody> | |
<tr><td>overall</td><td>3554</td><td>3556</td><td><span class="deterioration number">+2</span></td></tr> | |
<tr><td>data</td><td>142</td><td>142</td><td><span class="unchanged number">+0</span></td></tr> | |
<tr><td>bss</td><td>3412</td><td>3414</td><td><span class="deterioration number">+2</span></td></tr> | |
</tbody> | |
</table> | |
<H3>Legend</H3> | |
<table> | |
<col align="left"> | |
<col align="left"> | |
<tbody> | |
<tr><td>text</td><td>instructions</td></tr> | |
<tr><td>data</td><td>initialized global or static variables</td></tr> | |
<tr><td>bss</td><td>uninitialized global or static variables</td></tr> | |
</tbody> | |
</table> | |
<H2>Symbols</H2> | |
<p>858 symbols found in good.elf</p> | |
<p>858 symbols found in bad.elf</p> | |
<H3>Persisting Symbols</H3> | |
<p>858 symbols persisted but potentially changed size (<span class="unchanged number">+0</span> bytes of program memory)</p> | |
<H3>Symbols Disappeared </H3> | |
<p>0 symbols disappeared (<span class="unchanged number">+0</span> bytes of program memory)</p> | |
<H3>New Symbols</H3> | |
<p>0 symbols were newly introduced (<span class="unchanged number">+0</span> bytes of program memory)</p> | |
<H3>Similar Symbols</H3> | |
<p>0 pairs of similar symbols have been found.</p> | |
<H2>Symbol Details</H2> | |
<H3>Persisting Symbols</H3> | |
<H4><a name="details_.LBE22"><a href="#table_.LBE22"><span class="symbol_name">.LBE22</span></a></a> (size unchanged)</H4> | |
<table class="diff" id="difflib_chg_to0__top" | |
cellspacing="0" cellpadding="0" rules="groups" > | |
<colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> | |
<colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> | |
<thead><tr><th class="diff_next"><br /></th><th colspan="2" class="diff_header">Old</th><th class="diff_next"><br /></th><th colspan="2" class="diff_header">New</th></tr></thead> | |
<tbody> | |
<tr><td class="diff_next" id="difflib_chg_to0__0"><a href="#difflib_chg_to0__0">f</a></td><td class="diff_header" id="from0_1">1</td><td nowrap="nowrap"> 7d 40 e1 00 mov.b #225, r13 ;#0x00e1</td><td class="diff_next"><a href="#difflib_chg_to0__0">f</a></td><td class="diff_header" id="to0_1">1</td><td nowrap="nowrap"> 7d 40 e1 00 mov.b #225, r13 ;#0x00e1</td></tr> | |
<tr><td class="diff_next"><a href="#difflib_chg_to0__top">t</a></td><td class="diff_header" id="from0_2">2</td><td nowrap="nowrap"> 1c 42 8<span class="diff_chg">0</span> 15 mov &0x158<span class="diff_chg">0</span>,r12 ;0x158<span class="diff_chg">0</span></td><td class="diff_next"><a href="#difflib_chg_to0__top">t</a></td><td class="diff_header" id="to0_2">2</td><td nowrap="nowrap"> 1c 42 8<span class="diff_chg">2</span> 15 mov &0x158<span class="diff_chg">2</span>,r12 ;0x158<span class="diff_chg">2</span></td></tr> | |
<tr><td class="diff_next"></td><td class="diff_header" id="from0_3">3</td><td nowrap="nowrap"><span class="source"></span></td><td class="diff_next"></td><td class="diff_header" id="to0_3">3</td><td nowrap="nowrap"><span class="source"></span></td></tr> | |
</tbody> | |
</table> | |
<H4><a name="details_.LBE24"><a href="#table_.LBE24"><span class="symbol_name">.LBE24</span></a></a> (size unchanged)</H4> | |
<table class="diff" id="difflib_chg_to1__top" | |
cellspacing="0" cellpadding="0" rules="groups" > | |
<colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> | |
<colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> | |
<thead><tr><th class="diff_next"><br /></th><th colspan="2" class="diff_header">Old</th><th class="diff_next"><br /></th><th colspan="2" class="diff_header">New</th></tr></thead> | |
<tbody> | |
<tr><td class="diff_next" id="difflib_chg_to1__0"><a href="#difflib_chg_to1__0">f</a></td><td class="diff_header" id="from1_1">1</td><td nowrap="nowrap"> 0d 4a mov r10, r13 ;</td><td class="diff_next"><a href="#difflib_chg_to1__0">f</a></td><td class="diff_header" id="to1_1">1</td><td nowrap="nowrap"> 0d 4a mov r10, r13 ;</td></tr> | |
<tr><td class="diff_next"></td><td class="diff_header" id="from1_2">2</td><td nowrap="nowrap"> 42 18 0d 5d rpt #3 { rlax.w r13 ;</td><td class="diff_next"></td><td class="diff_header" id="to1_2">2</td><td nowrap="nowrap"> 42 18 0d 5d rpt #3 { rlax.w r13 ;</td></tr> | |
<tr><td class="diff_next"><a href="#difflib_chg_to1__top">t</a></td><td class="diff_header" id="from1_3">3</td><td nowrap="nowrap"> 3d 50 8<span class="diff_chg">2</span> 15 add #550<span class="diff_chg">6</span>, r13 ;#0x158<span class="diff_chg">2</span></td><td class="diff_next"><a href="#difflib_chg_to1__top">t</a></td><td class="diff_header" id="to1_3">3</td><td nowrap="nowrap"> 3d 50 8<span class="diff_chg">4</span> 15 add #550<span class="diff_chg">8</span>, r13 ;#0x158<span class="diff_chg">4</span></td></tr> | |
<tr><td class="diff_next"></td><td class="diff_header" id="from1_4">4</td><td nowrap="nowrap"> 8d 4e 00 00 mov r14, 0(r13) ;</td><td class="diff_next"></td><td class="diff_header" id="to1_4">4</td><td nowrap="nowrap"> 8d 4e 00 00 mov r14, 0(r13) ;</td></tr> | |
<tr><td class="diff_next"></td><td class="diff_header" id="from1_5">5</td><td nowrap="nowrap"> 8d 4f 02 00 mov r15, 2(r13) ;</td><td class="diff_next"></td><td class="diff_header" id="to1_5">5</td><td nowrap="nowrap"> 8d 4f 02 00 mov r15, 2(r13) ;</td></tr> | |
<tr><td class="diff_next"></td><td class="diff_header" id="from1_6">6</td><td nowrap="nowrap"> 8d 48 04 00 mov r8, 4(r13) ;</td><td class="diff_next"></td><td class="diff_header" id="to1_6">6</td><td nowrap="nowrap"> 8d 48 04 00 mov r8, 4(r13) ;</td></tr> | |
<tr><td class="diff_next"></td><td class="diff_header" id="from1_7">7</td><td nowrap="nowrap"> 8d 49 06 00 mov r9, 6(r13) ;</td><td class="diff_next"></td><td class="diff_header" id="to1_7">7</td><td nowrap="nowrap"> 8d 49 06 00 mov r9, 6(r13) ;</td></tr> | |
<tr><td class="diff_next"></td><td class="diff_header" id="from1_8">8</td><td nowrap="nowrap"><span class="source"></span></td><td class="diff_next"></td><td class="diff_header" id="to1_8">8</td><td nowrap="nowrap"><span class="source"></span></td></tr> | |
</tbody> | |
</table> | |
<H4><a name="details___foo"><a href="#table___foo"><span class="symbol_name">__foo</span></a></a> (: 8 -> 9 bytes (+1 bytes) )</H4> | |
<table class="diff" id="difflib_chg_to2__top" | |
cellspacing="0" cellpadding="0" rules="groups" > | |
<colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> | |
<colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> | |
<thead><tr><th class="diff_next"><br /></th><th colspan="2" class="diff_header">Old</th><th class="diff_next"><br /></th><th colspan="2" class="diff_header">New</th></tr></thead> | |
<tbody> | |
<tr><td class="diff_next"><a href="#difflib_chg_to2__top">t</a></td><td></td><td> No Differences Found </td><td class="diff_next"><a href="#difflib_chg_to2__top">t</a></td><td></td><td> No Differences Found </td></tr> | |
</tbody> | |
</table> | |
<H3>Symbols Disappeared</H3> | |
<H3>New Symbols</H3> | |
<H3>Similar Symbols</H3> | |
<footer> | |
<p>Generated by elf_diff (https://github.com/CapeLeidokos/elf_diff) © 2019 by noseglasses ([email protected])</p> | |
<p>Sortable tables from <a href="https://kryogenix.org/code/browser/sorttable">kryogenix.org</a></p> | |
</footer> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment