Update ABI/API compatibility reports after commit c03fbbee63

This commit is contained in:
OpenJPEG Travis CI 2017-08-09 23:30:22 +00:00
parent 4a827ace3e
commit a320965fec
14 changed files with 726 additions and 954 deletions

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,13 @@
<br/> <br/>
<h1>Changelog from Git</h1><br/><br/> <h1>Changelog from Git</h1><br/><br/>
<div class='changelog'> <div class='changelog'>
<pre class='wrap'>commit 4b16e8d27ae524c5bf5f8af299703f7334752465 <pre class='wrap'>commit c03fbbee6399d6a996f484015035d5996ce80f9a
Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
Date: 2017-08-10 01:14:35 +0200
.travis.yml: add 'dist: precise' for config that requires it
commit 4b16e8d27ae524c5bf5f8af299703f7334752465
Author: Even Rouault &lt;even.rouault@spatialys.com&gt; Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
Date: 2017-08-09 17:37:05 +0200 Date: 2017-08-09 17:37:05 +0200
@ -581,7 +587,6 @@ Date: 2017-07-26 22:22:44 +0200
Credit to OSS Fuzz Credit to OSS Fuzz
commit dbf527bf2a53bc88e6cf1373991002ec0e8e22a1 commit dbf527bf2a53bc88e6cf1373991002ec0e8e22a1
Merge: 5e795d9 94c4b73
Author: Even Rouault &lt;even.rouault@mines-paris.org&gt; Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
Date: 2017-07-26 22:05:32 +0200 Date: 2017-07-26 22:05:32 +0200
@ -589,18 +594,6 @@ Date: 2017-07-26 22:05:32 +0200
Implement predictive termination check Implement predictive termination check
commit 94c4b7300cc515330bf798bb45eb0d68e2c84aa0
Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
Date: 2017-07-26 21:39:50 +0200
T1 decoder: check code stream errors when predictable termination is enabled and emit a warning when errors are found
commit 5e795d90a1e47616e0c7a2e39381c13ccf7fd6dd
Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
Date: 2017-07-26 21:06:38 +0200
Spelling fixes (patch by ka7, #890, rebased on top of master)
...</pre></div> ...</pre></div>
</body> </body>

View File

@ -1,4 +1,4 @@
<!-- verdict:incompatible;affected:3.5;added:5;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:6;interface_problems_medium:3;interface_problems_low:0;changed_constants:0;tool_version:1.99.21 --> <!-- verdict:compatible;affected:0;added:5;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:1.99.21 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
@ -272,9 +272,10 @@ function showContent(header, id)
<h2>Test Info</h2><hr/> <h2>Test Info</h2><hr/>
<table class='summary'> <table class='summary'>
<tr><th>Module Name</th><td>libopenjp2</td></tr> <tr><th>Module Name</th><td>libopenjp2</td></tr>
<tr><th>Version #1</th><td>2.1.2 (gcc 4.8.1)</td></tr> <tr><th>Version #1</th><td>2.1.2</td></tr>
<tr><th>Version #2</th><td>current (gcc 4.8.5)</td></tr> <tr><th>Version #2</th><td>current</td></tr>
<tr><th>CPU Type</th><td>x86_64</td></tr> <tr><th>CPU Type</th><td>x86_64</td></tr>
<tr><th>GCC Version</th><td>4.8.1</td></tr>
</table> </table>
<h2>Test Results</h2><hr/> <h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr> <table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>
@ -282,7 +283,7 @@ function showContent(header, id)
<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> <tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Symbols / Types</th><td>43 / 110</td></tr> <tr><th>Total Symbols / Types</th><td>43 / 110</td></tr>
<tr><th>Compatibility</th> <tr><th>Compatibility</th>
<td class='warning'>96.5%</td> <td class='compatible'>100%</td>
</tr> </tr>
</table> </table>
<h2>Problem Summary</h2><hr/> <h2>Problem Summary</h2><hr/>
@ -291,8 +292,8 @@ function showContent(header, id)
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr> <tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr> <tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr> <tr><td>Low</td><td>0</td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Problems_High' style='color:Blue;'>6</a></td></tr> <tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td class='failed'><a href='#Symbol_Problems_Medium' style='color:Blue;'>3</a></td></tr> <tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr> <tr><td>Low</td><td>0</td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> <tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
</table> </table>
@ -306,103 +307,6 @@ function showContent(header, id)
<span class="iname">opj_image_data_free&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void* <span class='color_p'>ptr</span> )</span></span></span><br/> <span class="iname">opj_image_data_free&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void* <span class='color_p'>ptr</span> )</span></span></span><br/>
<br/> <br/>
<a class='top_ref' href='#Top'>to the top</a><br/> <a class='top_ref' href='#Top'>to the top</a><br/>
<a name='High_Risk_Problems'></a><a name='Symbol_Problems_High'></a><a name='Interface_Problems_High'></a>
<h2>Problems with Symbols, High Severity <span class='failed'>&nbsp;6&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjp2.so.2.1.2</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_1')">
<span class='ext'>[+]</span> opj_read_tile_header&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_stream_t* <span class='color_p'>p_stream</span>, OPJ_UINT32* <span class='color_p'>p_tile_index</span>, OPJ_UINT32* <span class='color_p'>p_data_size</span>, OPJ_INT32* <span class='color_p'>p_tile_x0</span>, OPJ_INT32* <span class='color_p'>p_tile_y0</span>, OPJ_INT32* <span class='color_p'>p_tile_x1</span>, OPJ_INT32* <span class='color_p'>p_tile_y1</span>, OPJ_UINT32* <span class='color_p'>p_nb_comps</span>, <span class='nowrap'>OPJ_BOOL* <span class='color_p'>p_should_go_on</span> )</span></span> <span class='failed'>&nbsp;4&nbsp;</span></span>
<br/>
<div id="c_1" style="display:none;">
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>The parameter <b>p_data_size</b> became passed in <b>rcx</b> register instead of <b>rbx</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
<tr>
<th>2</th>
<td>The parameter <b>p_tile_index</b> became passed in <b>rdx</b> register instead of <b>rbp</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
<tr>
<th>3</th>
<td>The parameter <b>p_tile_x0</b> became passed in <b>r8</b> register instead of <b>rcx</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
<tr>
<th>4</th>
<td>The parameter <b>p_tile_y0</b> became passed in <b>r9</b> register instead of <b>r8</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_2')">
<span class='ext'>[+]</span> opj_stream_create_file_stream&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>fname</span>, OPJ_SIZE_T <span class='color_p'>p_size</span>, <span class='nowrap'>OPJ_BOOL <span class='color_p'>p_is_read_stream</span> )</span></span> <span class='failed'>&nbsp;2&nbsp;</span></span>
<br/>
<div id="c_2" style="display:none;">
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>The parameter <b>p_is_read_stream</b> became passed in <b>rdx</b> register instead of <b>rbx</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
<tr>
<th>2</th>
<td>The parameter <b>p_size</b> became passed in <b>rsi</b> register instead of <b>r12</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Medium_Risk_Problems'></a><a name='Symbol_Problems_Medium'></a><a name='Interface_Problems_Medium'></a>
<h2>Problems with Symbols, Medium Severity <span class='failed'>&nbsp;3&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjp2.so.2.1.2</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_3')">
<span class='ext'>[+]</span> opj_read_tile_header&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_stream_t* <span class='color_p'>p_stream</span>, OPJ_UINT32* <span class='color_p'>p_tile_index</span>, OPJ_UINT32* <span class='color_p'>p_data_size</span>, OPJ_INT32* <span class='color_p'>p_tile_x0</span>, OPJ_INT32* <span class='color_p'>p_tile_y0</span>, OPJ_INT32* <span class='color_p'>p_tile_x1</span>, OPJ_INT32* <span class='color_p'>p_tile_y1</span>, OPJ_UINT32* <span class='color_p'>p_nb_comps</span>, <span class='nowrap'>OPJ_BOOL* <span class='color_p'>p_should_go_on</span> )</span></span> <span class='failed'>&nbsp;3&nbsp;</span></span>
<br/>
<div id="c_3" style="display:none;">
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>The parameter <b>p_nb_comps</b> became passed on stack instead of <b>rdx</b> register.</td>
<td>Violation of the calling convention. This may result in crash or incorrect behavior of applications.</td>
</tr>
<tr>
<th>2</th>
<td>The parameter <b>p_should_go_on</b> became passed on stack instead of <b>rdx</b> register.</td>
<td>Violation of the calling convention. This may result in crash or incorrect behavior of applications.</td>
</tr>
<tr>
<th>3</th>
<td>The parameter <b>p_tile_y1</b> became passed on stack instead of <b>rdx</b> register.</td>
<td>Violation of the calling convention. This may result in crash or incorrect behavior of applications.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/> <a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='h_list'> <div class='h_list'>
openjpeg.h<br/> openjpeg.h<br/>

View File

@ -1,8 +1,8 @@
{ {
"Affected": "3.5", "Affected": "0",
"Added": 5, "Added": 5,
"Removed": 0, "Removed": 0,
"TotalProblems": 9, "TotalProblems": 0,
"Object1": "lib/libopenjp2.so.2.1.2", "Object1": "lib/libopenjp2.so.2.1.2",
"Object2": "lib/libopenjp2.so.2.2.0" "Object2": "lib/libopenjp2.so.2.2.0"
} }

View File

@ -1,4 +1,4 @@
<!-- verdict:incompatible;affected:3.5;added:5;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:6;interface_problems_medium:3;interface_problems_low:0;changed_constants:0;tool_version:1.99.21 --> <!-- verdict:compatible;affected:0;added:5;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:1.99.21 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
@ -272,9 +272,10 @@ function showContent(header, id)
<h2>Test Info</h2><hr/> <h2>Test Info</h2><hr/>
<table class='summary'> <table class='summary'>
<tr><th>Module Name</th><td>openjpeg</td></tr> <tr><th>Module Name</th><td>openjpeg</td></tr>
<tr><th>Version #1</th><td>2.1.2 (gcc 4.8.1)</td></tr> <tr><th>Version #1</th><td>2.1.2</td></tr>
<tr><th>Version #2</th><td>current (gcc 4.8.5)</td></tr> <tr><th>Version #2</th><td>current</td></tr>
<tr><th>CPU Type</th><td>x86_64</td></tr> <tr><th>CPU Type</th><td>x86_64</td></tr>
<tr><th>GCC Version</th><td>4.8.1</td></tr>
</table> </table>
<h2>Test Results</h2><hr/> <h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr> <table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>
@ -282,7 +283,7 @@ function showContent(header, id)
<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> <tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Symbols / Types</th><td>43 / 110</td></tr> <tr><th>Total Symbols / Types</th><td>43 / 110</td></tr>
<tr><th>Compatibility</th> <tr><th>Compatibility</th>
<td class='warning'>96.5%</td> <td class='compatible'>100%</td>
</tr> </tr>
</table> </table>
<h2>Problem Summary</h2><hr/> <h2>Problem Summary</h2><hr/>
@ -291,8 +292,8 @@ function showContent(header, id)
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr> <tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr> <tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr> <tr><td>Low</td><td>0</td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Problems_High' style='color:Blue;'>6</a></td></tr> <tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td class='failed'><a href='#Symbol_Problems_Medium' style='color:Blue;'>3</a></td></tr> <tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr> <tr><td>Low</td><td>0</td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> <tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
</table> </table>
@ -306,103 +307,6 @@ function showContent(header, id)
<span class="iname">opj_image_data_free&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void* <span class='color_p'>ptr</span> )</span></span></span><br/> <span class="iname">opj_image_data_free&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void* <span class='color_p'>ptr</span> )</span></span></span><br/>
<br/> <br/>
<a class='top_ref' href='#Top'>to the top</a><br/> <a class='top_ref' href='#Top'>to the top</a><br/>
<a name='High_Risk_Problems'></a><a name='Symbol_Problems_High'></a><a name='Interface_Problems_High'></a>
<h2>Problems with Symbols, High Severity <span class='failed'>&nbsp;6&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjp2.so.2.1.2</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_1')">
<span class='ext'>[+]</span> opj_read_tile_header&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_stream_t* <span class='color_p'>p_stream</span>, OPJ_UINT32* <span class='color_p'>p_tile_index</span>, OPJ_UINT32* <span class='color_p'>p_data_size</span>, OPJ_INT32* <span class='color_p'>p_tile_x0</span>, OPJ_INT32* <span class='color_p'>p_tile_y0</span>, OPJ_INT32* <span class='color_p'>p_tile_x1</span>, OPJ_INT32* <span class='color_p'>p_tile_y1</span>, OPJ_UINT32* <span class='color_p'>p_nb_comps</span>, <span class='nowrap'>OPJ_BOOL* <span class='color_p'>p_should_go_on</span> )</span></span> <span class='failed'>&nbsp;4&nbsp;</span></span>
<br/>
<div id="c_1" style="display:none;">
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>The parameter <b>p_data_size</b> became passed in <b>rcx</b> register instead of <b>rbx</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
<tr>
<th>2</th>
<td>The parameter <b>p_tile_index</b> became passed in <b>rdx</b> register instead of <b>rbp</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
<tr>
<th>3</th>
<td>The parameter <b>p_tile_x0</b> became passed in <b>r8</b> register instead of <b>rcx</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
<tr>
<th>4</th>
<td>The parameter <b>p_tile_y0</b> became passed in <b>r9</b> register instead of <b>r8</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_2')">
<span class='ext'>[+]</span> opj_stream_create_file_stream&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>fname</span>, OPJ_SIZE_T <span class='color_p'>p_size</span>, <span class='nowrap'>OPJ_BOOL <span class='color_p'>p_is_read_stream</span> )</span></span> <span class='failed'>&nbsp;2&nbsp;</span></span>
<br/>
<div id="c_2" style="display:none;">
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>The parameter <b>p_is_read_stream</b> became passed in <b>rdx</b> register instead of <b>rbx</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
<tr>
<th>2</th>
<td>The parameter <b>p_size</b> became passed in <b>rsi</b> register instead of <b>r12</b>.</td>
<td>Applications will read the wrong memory block instead of the parameter value.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Medium_Risk_Problems'></a><a name='Symbol_Problems_Medium'></a><a name='Interface_Problems_Medium'></a>
<h2>Problems with Symbols, Medium Severity <span class='failed'>&nbsp;3&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjp2.so.2.1.2</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_3')">
<span class='ext'>[+]</span> opj_read_tile_header&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_stream_t* <span class='color_p'>p_stream</span>, OPJ_UINT32* <span class='color_p'>p_tile_index</span>, OPJ_UINT32* <span class='color_p'>p_data_size</span>, OPJ_INT32* <span class='color_p'>p_tile_x0</span>, OPJ_INT32* <span class='color_p'>p_tile_y0</span>, OPJ_INT32* <span class='color_p'>p_tile_x1</span>, OPJ_INT32* <span class='color_p'>p_tile_y1</span>, OPJ_UINT32* <span class='color_p'>p_nb_comps</span>, <span class='nowrap'>OPJ_BOOL* <span class='color_p'>p_should_go_on</span> )</span></span> <span class='failed'>&nbsp;3&nbsp;</span></span>
<br/>
<div id="c_3" style="display:none;">
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>The parameter <b>p_nb_comps</b> became passed on stack instead of <b>rdx</b> register.</td>
<td>Violation of the calling convention. This may result in crash or incorrect behavior of applications.</td>
</tr>
<tr>
<th>2</th>
<td>The parameter <b>p_should_go_on</b> became passed on stack instead of <b>rdx</b> register.</td>
<td>Violation of the calling convention. This may result in crash or incorrect behavior of applications.</td>
</tr>
<tr>
<th>3</th>
<td>The parameter <b>p_tile_y1</b> became passed on stack instead of <b>rdx</b> register.</td>
<td>Violation of the calling convention. This may result in crash or incorrect behavior of applications.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/> <a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='h_list'> <div class='h_list'>
openjpeg.h<br/> openjpeg.h<br/>

View File

@ -272,9 +272,10 @@ function showContent(header, id)
<h2>Test Info</h2><hr/> <h2>Test Info</h2><hr/>
<table class='summary'> <table class='summary'>
<tr><th>Module Name</th><td>openjpeg</td></tr> <tr><th>Module Name</th><td>openjpeg</td></tr>
<tr><th>Version #1</th><td>2.1.2 (gcc 4.8.1)</td></tr> <tr><th>Version #1</th><td>2.1.2</td></tr>
<tr><th>Version #2</th><td>current (gcc 4.8.5)</td></tr> <tr><th>Version #2</th><td>current</td></tr>
<tr><th>CPU Type</th><td>x86_64</td></tr> <tr><th>CPU Type</th><td>x86_64</td></tr>
<tr><th>GCC Version</th><td>4.8.1</td></tr>
</table> </table>
<h2>Test Results</h2><hr/> <h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr> <table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>

View File

@ -288,7 +288,7 @@ $VAR1 = {
'2.1.2' => { '2.1.2' => {
'current' => { 'current' => {
'Added' => 5, 'Added' => 5,
'BC' => '96.5', 'BC' => 100,
'ChangedSoname' => 0, 'ChangedSoname' => 0,
'ObjectsAdded' => 0, 'ObjectsAdded' => 0,
'ObjectsAddedSymbols' => 0, 'ObjectsAddedSymbols' => 0,
@ -297,7 +297,7 @@ $VAR1 = {
'Path' => 'objects_report/openjpeg/2.1.2/current/report.html', 'Path' => 'objects_report/openjpeg/2.1.2/current/report.html',
'Removed' => 0, 'Removed' => 0,
'TotalObjects' => 1, 'TotalObjects' => 1,
'TotalProblems' => 9 'TotalProblems' => 0
} }
} }
}, },
@ -456,12 +456,12 @@ $VAR1 = {
'current' => { 'current' => {
'58361' => { '58361' => {
'Added' => 5, 'Added' => 5,
'Affected' => '3.5', 'Affected' => 0,
'Object1' => 'lib/libopenjp2.so.2.1.2', 'Object1' => 'lib/libopenjp2.so.2.1.2',
'Object2' => 'lib/libopenjp2.so.2.2.0', 'Object2' => 'lib/libopenjp2.so.2.2.0',
'Path' => 'compat_report/openjpeg/2.1.2/current/58361/abi_compat_report.html', 'Path' => 'compat_report/openjpeg/2.1.2/current/58361/abi_compat_report.html',
'Removed' => 0, 'Removed' => 0,
'TotalProblems' => 9 'TotalProblems' => 0
} }
} }
} }
@ -496,7 +496,7 @@ $VAR1 = {
'2.1' => '2014-04-29 12:58', '2.1' => '2014-04-29 12:58',
'2.1.1' => '2016-07-05 14:54', '2.1.1' => '2016-07-05 14:54',
'2.1.2' => '2016-09-28 18:18', '2.1.2' => '2016-09-28 18:18',
'current' => '2017-08-09 17:37:05' 'current' => '2017-08-10 01:14:35'
}, },
'HeadersDiff' => { 'HeadersDiff' => {
'1.1' => { '1.1' => {
@ -574,7 +574,7 @@ $VAR1 = {
'Maintainer' => 'OpenJPEG team', 'Maintainer' => 'OpenJPEG team',
'MaintainerUrl' => 'http://www.openjpeg.org/', 'MaintainerUrl' => 'http://www.openjpeg.org/',
'PackageDiff' => {}, 'PackageDiff' => {},
'ScmUpdateTime' => '1502320173', 'ScmUpdateTime' => '1502321396',
'Soname' => { 'Soname' => {
'1.1' => { '1.1' => {
'lib/libopenjpeg.so' => 'libopenjpeg.so' 'lib/libopenjpeg.so' => 'libopenjpeg.so'

View File

@ -3,55 +3,82 @@
#---------------------------------------------------------------- #----------------------------------------------------------------
# Commands may need to know the format version. # Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1) SET(CMAKE_IMPORT_FILE_VERSION 1)
# Compute the installation prefix relative to this file.
GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
# Import target "openjp2" for configuration "Debug" # Import target "openjp2" for configuration "Debug"
set_property(TARGET openjp2 APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) SET_PROPERTY(TARGET openjp2 APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(openjp2 PROPERTIES SET_TARGET_PROPERTIES(openjp2 PROPERTIES
IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG "m;-lpthread" IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG "m;-lpthread"
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.2.0" IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.2.0"
IMPORTED_SONAME_DEBUG "libopenjp2.so.7" IMPORTED_SONAME_DEBUG "libopenjp2.so.7"
) )
list(APPEND _IMPORT_CHECK_TARGETS openjp2 ) LIST(APPEND _IMPORT_CHECK_TARGETS openjp2 )
list(APPEND _IMPORT_CHECK_FILES_FOR_openjp2 "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.2.0" ) LIST(APPEND _IMPORT_CHECK_FILES_FOR_openjp2 "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.2.0" )
# Import target "openjp2_static" for configuration "Debug" # Import target "openjp2_static" for configuration "Debug"
set_property(TARGET openjp2_static APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) SET_PROPERTY(TARGET openjp2_static APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(openjp2_static PROPERTIES SET_TARGET_PROPERTIES(openjp2_static PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.a" IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.a"
) )
list(APPEND _IMPORT_CHECK_TARGETS openjp2_static ) LIST(APPEND _IMPORT_CHECK_TARGETS openjp2_static )
list(APPEND _IMPORT_CHECK_FILES_FOR_openjp2_static "${_IMPORT_PREFIX}/lib/libopenjp2.a" ) LIST(APPEND _IMPORT_CHECK_FILES_FOR_openjp2_static "${_IMPORT_PREFIX}/lib/libopenjp2.a" )
# Import target "opj_decompress" for configuration "Debug" # Import target "opj_decompress" for configuration "Debug"
set_property(TARGET opj_decompress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) SET_PROPERTY(TARGET opj_decompress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(opj_decompress PROPERTIES SET_TARGET_PROPERTIES(opj_decompress PROPERTIES
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_decompress" IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_decompress"
) )
list(APPEND _IMPORT_CHECK_TARGETS opj_decompress ) LIST(APPEND _IMPORT_CHECK_TARGETS opj_decompress )
list(APPEND _IMPORT_CHECK_FILES_FOR_opj_decompress "${_IMPORT_PREFIX}/bin/opj_decompress" ) LIST(APPEND _IMPORT_CHECK_FILES_FOR_opj_decompress "${_IMPORT_PREFIX}/bin/opj_decompress" )
# Import target "opj_compress" for configuration "Debug" # Import target "opj_compress" for configuration "Debug"
set_property(TARGET opj_compress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) SET_PROPERTY(TARGET opj_compress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(opj_compress PROPERTIES SET_TARGET_PROPERTIES(opj_compress PROPERTIES
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_compress" IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_compress"
) )
list(APPEND _IMPORT_CHECK_TARGETS opj_compress ) LIST(APPEND _IMPORT_CHECK_TARGETS opj_compress )
list(APPEND _IMPORT_CHECK_FILES_FOR_opj_compress "${_IMPORT_PREFIX}/bin/opj_compress" ) LIST(APPEND _IMPORT_CHECK_FILES_FOR_opj_compress "${_IMPORT_PREFIX}/bin/opj_compress" )
# Import target "opj_dump" for configuration "Debug" # Import target "opj_dump" for configuration "Debug"
set_property(TARGET opj_dump APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) SET_PROPERTY(TARGET opj_dump APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(opj_dump PROPERTIES SET_TARGET_PROPERTIES(opj_dump PROPERTIES
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_dump" IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_dump"
) )
list(APPEND _IMPORT_CHECK_TARGETS opj_dump ) LIST(APPEND _IMPORT_CHECK_TARGETS opj_dump )
list(APPEND _IMPORT_CHECK_FILES_FOR_opj_dump "${_IMPORT_PREFIX}/bin/opj_dump" ) LIST(APPEND _IMPORT_CHECK_FILES_FOR_opj_dump "${_IMPORT_PREFIX}/bin/opj_dump" )
# Loop over all imported files and verify that they actually exist
FOREACH(target ${_IMPORT_CHECK_TARGETS} )
FOREACH(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
IF(NOT EXISTS "${file}" )
MESSAGE(FATAL_ERROR "The imported target \"${target}\" references the file
\"${file}\"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
\"${CMAKE_CURRENT_LIST_FILE}\"
but not all the files it references.
")
ENDIF()
ENDFOREACH()
UNSET(_IMPORT_CHECK_FILES_FOR_${target})
ENDFOREACH()
UNSET(_IMPORT_CHECK_TARGETS)
# Cleanup temporary variables.
SET(_IMPORT_PREFIX)
# Commands beyond this point should not need to know the version. # Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION) SET(CMAKE_IMPORT_FILE_VERSION)

View File

@ -1,95 +1,39 @@
# Generated by CMake 3.2.2 # Generated by CMake 2.8.7
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
message(FATAL_ERROR "CMake >= 2.6.0 required") MESSAGE(FATAL_ERROR "CMake >= 2.6.0 required")
endif() ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
cmake_policy(PUSH) CMAKE_POLICY(PUSH)
cmake_policy(VERSION 2.6) CMAKE_POLICY(VERSION 2.6)
#---------------------------------------------------------------- #----------------------------------------------------------------
# Generated CMake target import file. # Generated CMake target import file.
#---------------------------------------------------------------- #----------------------------------------------------------------
# Commands may need to know the format version. # Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1) SET(CMAKE_IMPORT_FILE_VERSION 1)
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
set(_targetsDefined)
set(_targetsNotDefined)
set(_expectedTargets)
foreach(_expectedTarget openjp2 openjp2_static opj_decompress opj_compress opj_dump)
list(APPEND _expectedTargets ${_expectedTarget})
if(NOT TARGET ${_expectedTarget})
list(APPEND _targetsNotDefined ${_expectedTarget})
endif()
if(TARGET ${_expectedTarget})
list(APPEND _targetsDefined ${_expectedTarget})
endif()
endforeach()
if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
set(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)
return()
endif()
if(NOT "${_targetsDefined}" STREQUAL "")
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
endif()
unset(_targetsDefined)
unset(_targetsNotDefined)
unset(_expectedTargets)
# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
# Create imported target openjp2 # Create imported target openjp2
add_library(openjp2 SHARED IMPORTED) ADD_LIBRARY(openjp2 SHARED IMPORTED)
# Create imported target openjp2_static # Create imported target openjp2_static
add_library(openjp2_static STATIC IMPORTED) ADD_LIBRARY(openjp2_static STATIC IMPORTED)
# Create imported target opj_decompress # Create imported target opj_decompress
add_executable(opj_decompress IMPORTED) ADD_EXECUTABLE(opj_decompress IMPORTED)
# Create imported target opj_compress # Create imported target opj_compress
add_executable(opj_compress IMPORTED) ADD_EXECUTABLE(opj_compress IMPORTED)
# Create imported target opj_dump # Create imported target opj_dump
add_executable(opj_dump IMPORTED) ADD_EXECUTABLE(opj_dump IMPORTED)
# Load information for each installed configuration. # Load information for each installed configuration.
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) GET_FILENAME_COMPONENT(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
file(GLOB CONFIG_FILES "${_DIR}/OpenJPEGTargets-*.cmake") FILE(GLOB CONFIG_FILES "${_DIR}/OpenJPEGTargets-*.cmake")
foreach(f ${CONFIG_FILES}) FOREACH(f ${CONFIG_FILES})
include(${f}) INCLUDE(${f})
endforeach() ENDFOREACH(f)
# Cleanup temporary variables.
set(_IMPORT_PREFIX)
# Loop over all imported files and verify that they actually exist
foreach(target ${_IMPORT_CHECK_TARGETS} )
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
if(NOT EXISTS "${file}" )
message(FATAL_ERROR "The imported target \"${target}\" references the file
\"${file}\"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
\"${CMAKE_CURRENT_LIST_FILE}\"
but not all the files it references.
")
endif()
endforeach()
unset(_IMPORT_CHECK_FILES_FOR_${target})
endforeach()
unset(_IMPORT_CHECK_TARGETS)
# This file does not depend on other imported targets which have
# been exported from the same project but in a separate export set.
# Commands beyond this point should not need to know the version. # Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION) SET(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP) CMAKE_POLICY(POP)

View File

@ -1,8 +1,8 @@
{ {
"BC": "96.5", "BC": "100",
"Added": 5, "Added": 5,
"Removed": 0, "Removed": 0,
"TotalProblems": 9, "TotalProblems": 0,
"ObjectsAdded": 0, "ObjectsAdded": 0,
"ObjectsRemoved": 0, "ObjectsRemoved": 0,
"ObjectsAddedSymbols": 0, "ObjectsAddedSymbols": 0,

View File

@ -29,7 +29,7 @@
</tr> </tr>
<tr> <tr>
<td class='object'>libopenjp2.so.2.1.2</td> <td class='object'>libopenjp2.so.2.1.2</td>
<td class='warning'><a href='../../../../compat_report/openjpeg/2.1.2/current/58361/abi_compat_report.html'>96.5%</a></td> <td class='ok'><a href='../../../../compat_report/openjpeg/2.1.2/current/58361/abi_compat_report.html'>100%</a></td>
<td class='added'><a class='num' href='../../../../compat_report/openjpeg/2.1.2/current/58361/abi_compat_report.html#Added'>5 new</a></td> <td class='added'><a class='num' href='../../../../compat_report/openjpeg/2.1.2/current/58361/abi_compat_report.html#Added'>5 new</a></td>
<td class='ok'>0</td> <td class='ok'>0</td>
</tr> </tr>

View File

@ -30,10 +30,10 @@
<th>Headers<br/>Diff</th> <th>Headers<br/>Diff</th>
</tr> </tr>
<tr id='current'><td>current</td> <tr id='current'><td>current</td>
<td>2017-08-09<br/>17:37</td> <td>2017-08-10<br/>01:14</td>
<td>7</td> <td>7</td>
<td><a href='../../changelog/openjpeg/current/log.html'>changelog</a></td> <td><a href='../../changelog/openjpeg/current/log.html'>changelog</a></td>
<td class='warning'><a href='../../objects_report/openjpeg/2.1.2/current/report.html'>96.5%</a></td> <td class='ok'><a href='../../objects_report/openjpeg/2.1.2/current/report.html'>100%</a></td>
<td class='added'><a class='num' href='../../objects_report/openjpeg/2.1.2/current/report.html'>5 new</a></td> <td class='added'><a class='num' href='../../objects_report/openjpeg/2.1.2/current/report.html'>5 new</a></td>
<td class='ok'>0</td> <td class='ok'>0</td>
<td><a href='../../headers_diff/openjpeg/2.1.2/current/diff.html'>2</a></td> <td><a href='../../headers_diff/openjpeg/2.1.2/current/diff.html'>2</a></td>
@ -152,7 +152,7 @@
<td>N/A</td> <td>N/A</td>
<td>N/A</td> <td>N/A</td>
</tr> </tr>
</table><br/>Maintained by <a href='http://www.openjpeg.org/'>OpenJPEG team</a>. Last updated on Wed Aug 9 23:10:28 2017.<br/> </table><br/>Maintained by <a href='http://www.openjpeg.org/'>OpenJPEG team</a>. Last updated on Wed Aug 9 23:30:21 2017.<br/>
<br/> <br/>
<hr/> <hr/>
<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='http://abi-laboratory.pro/'>abi-laboratory.pro</a></div> <div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='http://abi-laboratory.pro/'>abi-laboratory.pro</a></div>