RosaLinux Bugzilla – Attachment 5721 Details for
Bug 12469
[upd 21] glib2.0 to 2.72.3
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
ABI Compliance Checker Result 5
libglib.html (text/html), 43.66 KB, created by
Grigorev Andrey
on 2022-07-08 11:44:00 MSK
(
hide
)
Description:
ABI Compliance Checker Result 5
Filename:
MIME Type:
Creator:
Grigorev Andrey
Created:
2022-07-08 11:44:00 MSK
Size:
43.66 KB
patch
obsolete
><!-- kind:binary;verdict:compatible;affected:0;added:8;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:2;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;type_changes_other:6;tool_version:2.3 --> ><!-- kind:source;verdict:compatible;affected:0;added:8;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:2;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;type_changes_other:6;tool_version:2.3 --> ><!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"> ><head> ><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ><meta name="viewport" content="width=device-width,initial-scale=1" /> ><meta name="keywords" content="libglib, compatibility, API, ABI, report" /> ><meta name="description" content="API/ABI compatibility report for the libglib object between 2.70.4 and 2.72.3 versions" /> ><title>libglib: 2.70.4 to 2.72.3 compatibility report</title> ><style type="text/css"> >body { > font-family:Arial, sans-serif; > background-color:White; > color:Black; >} >hr { > color:Black; > background-color:Black; > height:1px; > border:0; >} >h1 { > margin-bottom:0px; > padding-bottom:0px; > font-size:1.625em; >} >h2 { > margin-bottom:0px; > padding-bottom:0px; > font-size:1.25em; > white-space:nowrap; >} >span.section { > font-weight:bold; > cursor:pointer; > color:#003E69; > white-space:nowrap; > margin-left:0.3125em; >} >span.new_sign { > font-weight:bold; > margin-left:1.65em; > color:#003E69; >} >span.new_sign_lbl { > margin-left:3em; > font-size:1em; > color:Black; >} >span:hover.section { > color:#336699; >} >span.sect_aff { > cursor:pointer; > padding-left:1.55em; > font-size:0.875em; > color:#cc3300; >} >span.sect_info { > cursor:pointer; > padding-left:1.55em; > font-size:0.875em; > color:Black; >} >span.ext { > font-weight:normal; >} >span.h_name { > color:#cc3300; > font-size:0.875em; > font-weight:bold; >} >div.h_list, div.lib_list { > font-size:0.94em; > padding-left:0.4em; >} >span.ns { > color:#408080; > font-size:0.94em; >} >span.lib_name { > color:Green; > font-size:0.875em; > font-weight:bold; >} >span.iname { > font-weight:bold; > color:#003E69; > margin-left:0.3125em; >} >span.iname_b { > font-weight:bold; >} >span.iname_a { > color:#333333; > font-weight:bold; > font-size:0.94em; >} >span.sym_p { > font-weight:normal; > white-space:normal; >} >span.sym_pd { > white-space:normal; >} >span.sym_p span, span.sym_pd span { > white-space:nowrap; >} >div.affect { > padding-left:1em; > padding-bottom:10px; > font-size:0.87em; > font-style:italic; > line-height:0.9em; >} >div.affected { > padding-left:1.9em; > padding-top:10px; >} >table.ptable { > border-collapse:collapse; > border:1px outset black; > margin-left:0.95em; > margin-top:3px; > margin-bottom:3px; > width:56.25em; >} >table.ptable td { > border:1px solid gray; > padding:3px; > font-size:0.875em; > text-align:left; > vertical-align:top; > max-width:28em; > word-wrap:break-word; >} >table.ptable th.pn { > width:2%; >} >table.ptable th.chg { > width:47%; >} >table.vtable { > border-collapse:collapse; > border:1px outset black; > margin-left:1.9em; > margin-top:0.7em; >} >table.vtable td { > border:1px solid gray; > padding:3px; > font-size:0.875em; > vertical-align:top; > max-width:450px; > word-wrap:break-word; >} >table.ptable th, table.vtable th { > background-color:#eeeeee; > font-weight:bold; > color:#333333; > font-family:Verdana, Arial; > font-size:0.875em; > border:1px solid gray; > text-align:center; > vertical-align:top; > white-space:nowrap; > padding:3px; >} >table.summary { > border-collapse:collapse; > border:1px outset black; >} >table.summary th { > background-color:#eeeeee; > font-weight:normal; > text-align:left; > font-size:0.94em; > white-space:nowrap; > border:1px inset gray; > padding:3px; >} >table.summary td { > text-align:right; > white-space:nowrap; > border:1px inset gray; > padding:3px 5px 3px 10px; >} >span.mngl { > padding-left:1em; > font-size:0.875em; > cursor:text; > color:#444444; > font-weight:bold; >} >span.pleft { > padding-left:2.5em; >} >span.sym_ver { > color:#333333; > white-space:nowrap; > font-family:"DejaVu Sans Mono", Monospace; >} >span.attr { > color:#333333; > font-weight:normal; >} >span.color_p { > font-style:italic; > color:Brown; >} >span.p { > font-style:italic; >} >span.fp { > font-style:italic; > background-color:#DCDCDC; >} >span.ttype { > font-weight:normal; >} >span.nowrap { > white-space:nowrap; >} >span.value { > font-weight:bold; >} >.passed { > background-color:#CCFFCC; > font-weight:normal; >} >.warning { > background-color:#F4F4AF; > font-weight:normal; >} >.failed { > background-color:#FFCCCC; > font-weight:normal; >} >.new { > background-color:#C6DEFF; > font-weight:normal; >} >.compatible { > background-color:#CCFFCC; > font-weight:normal; >} >.almost_compatible { > background-color:#FFDAA3; > font-weight:normal; >} >.incompatible { > background-color:#FFCCCC; > font-weight:normal; >} >.gray { > background-color:#DCDCDC; > font-weight:normal; >} >.top_ref { > font-size:0.69em; >} >.footer { > font-size:0.75em; >} > >.tabset { > float:left; >} >a.tab { > border:1px solid Black; > float:left; > margin:0px 5px -1px 0px; > padding:3px 5px 3px 5px; > position:relative; > font-size:0.875em; > background-color:#DDD; > text-decoration:none; > color:Black; >} >a.disabled:hover >{ > color:Black; > background:#EEE; >} >a.active:hover >{ > color:Black; > background:White; >} >a.active { > border-bottom-color:White; > background-color:White; >} >div.tab { > border-top:1px solid Black; > padding:0px; > width:100%; > clear:both; >} ></style> ><script type="text/javascript" language="JavaScript"> ><!-- >function showContent(header, id) >{ > e = document.getElementById(id); > if(e.style.display == 'none') > { > e.style.display = 'block'; > e.style.visibility = 'visible'; > header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]"); > } > else > { > e.style.display = 'none'; > e.style.visibility = 'hidden'; > header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]"); > } >} >function initTabs() >{ > var url = window.location.href; > if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1) > { > var tab1 = document.getElementById('BinaryID'); > var tab2 = document.getElementById('SourceID'); > tab1.className='tab disabled'; > tab2.className='tab active'; > } > var sets = document.getElementsByTagName('div'); > for (var i = 0; i < sets.length; i++) > { > if (sets[i].className.indexOf('tabset') != -1) > { > var tabs = []; > var links = sets[i].getElementsByTagName('a'); > for (var j = 0; j < links.length; j++) > { > if (links[j].className.indexOf('tab') != -1) > { > tabs.push(links[j]); > links[j].tabs = tabs; > var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1)); > //reset all tabs on start > if (tab) > { > if (links[j].className.indexOf('active')!=-1) { > tab.style.display = 'block'; > } > else { > tab.style.display = 'none'; > } > } > links[j].onclick = function() > { > var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1)); > if (tab) > { > //reset all tabs before change > for (var k = 0; k < this.tabs.length; k++) > { > document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none'; > this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled'); > } > this.className = 'tab active'; > tab.style.display = 'block'; > // window.location.hash = this.id.replace('ID', ''); > return false; > } > } > } > } > } > } > if(url.indexOf('#')!=-1) { > location.href=location.href; > } >} >if (window.addEventListener) window.addEventListener('load', initTabs, false); >else if (window.attachEvent) window.attachEvent('onload', initTabs); >--> ></script> ></head> ><body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>libglib-2.0.so</span> object between <span style='color:Red;'>2.70.4</span> and <span style='color:Red;'>2.72.3</span> versions on <span style='color:Blue;'>x86_64</span></h1> > > <br/> > <div class='tabset'> > <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a> > <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a> > </div><div id='BinaryTab' class='tab'> ><h2>Test Info</h2><hr/> ><table class='summary'> ><tr><th>Module Name</th><td>libglib</td></tr> ><tr><th>Version #1</th><td>2.70.4</td></tr> ><tr><th>Version #2</th><td>2.72.3</td></tr> ><tr><th>Arch</th><td>x86_64</td></tr> ><tr><th>GCC Version</th><td>11.2.0</td></tr> ><tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr> ></table> ><h2>Test Results</h2><hr/> ><table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>95</a></td></tr> ><tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>91</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>1807 / 458</td></tr> ><tr><th>Compatibility</th> ><td class='compatible'>100%</td> ></tr> ></table> ><h2>Problem Summary</h2><hr/> ><table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Binary_Added' style='color:Blue;'>8</a></td></tr> ><tr><th>Removed Symbols</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>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>2</a></td></tr> ><tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> ><tr><td>Medium</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>Other Changes<br/>in Data Types</th><td>-</td><td class='passed'><a href='#Other_Binary_Changes_In_Types' style='color:Blue;'>6</a></td></tr> ></table> > ><a name='Binary_Added'></a><h2>Added Symbols <span class='new'> 8 </span></h2><hr/> ><span class='h_name'>ghash.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> ><span class="iname">g_hash_table_new_similar <span class='sym_p'><span>( GHashTable* <span class='color_p'>other_hash_table</span></span> )</span></span><br/> ><br/> ><span class='h_name'>gmain.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> ><span class="iname">g_main_context_new_with_flags <span class='sym_p'><span>( enum GMainContextFlags <span class='color_p'>flags</span></span> )</span></span><br/> ><br/> ><span class='h_name'>gmem.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> ><span class="iname">g_aligned_alloc <span class='sym_p'><span>( gsize <span class='color_p'>n_blocks</span></span>, <span>gsize <span class='color_p'>n_block_bytes</span></span>, <span>gsize <span class='color_p'>alignment</span></span> )</span></span><br/> ><span class="iname">g_aligned_alloc0 <span class='sym_p'><span>( gsize <span class='color_p'>n_blocks</span></span>, <span>gsize <span class='color_p'>n_block_bytes</span></span>, <span>gsize <span class='color_p'>alignment</span></span> )</span></span><br/> ><span class="iname">g_aligned_free <span class='sym_p'><span>( gpointer <span class='color_p'>mem</span></span> )</span></span><br/> ><br/> ><span class='h_name'>gmessages.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> ><span class="iname">g_log_get_debug_enabled <span class='sym_p'>( )</span></span><br/> ><span class="iname">g_log_set_debug_enabled <span class='sym_p'><span>( gboolean <span class='color_p'>enabled</span></span> )</span></span><br/> ><br/> ><span class='h_name'>gutils.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> ><span class="iname">g_get_user_state_dir <span class='sym_p'>( )</span></span><br/> ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a> ><h2>Problems with Data Types, Low Severity <span class='warning'> 2 </span></h2><hr/> ><span class='h_name'>gmain.c</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_1')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> _GMainContext <span class='warning'> 1 </span></span> ><br/> ><div id="c_1" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>flags</b> has been added to this type.</td> ><td>This field will not be initialized by old clients.<br/><br/><b>NOTE</b>: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_2')"> >[+] affected symbols: 81 (4.5%)</span> ><div id="c_2" style="display:none;"> ><div class='affected'><span class='iname_a'>g_child_watch_funcs <span class='attr'>[data]</span></span><br/> ><div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_child_watch_source_new <span class='sym_p'><span>( GPid <i>pid</i></span> )</span></span><br/> ><div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_idle_funcs <span class='attr'>[data]</span></span><br/> ><div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_idle_source_new <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_io_create_watch <span class='sym_p'><span>( GIOChannel* <i>channel</i></span>, <span>enum GIOCondition <i>condition</i></span> )</span></span><br/> ><div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_io_watch_funcs <span class='attr'>[data]</span></span><br/> ><div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_main_context_acquire <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_main_context_add_poll <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span>, <span>GPollFD* <i>fd</i></span>, <span>gint <i>priority</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_main_context_check <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span>, <span>gint <i>max_priority</i></span>, <span>GPollFD* <i>fds</i></span>, <span>gint <i>n_fds</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_main_context_default <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Return value (pointer) has base type 'struct _GMainContext'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><br/> ><span class='h_name'>gsequence.c</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_3')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> _GSequenceNode <span class='warning'> 1 </span></span> ><br/> ><div id="c_3" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>priority</b> has been added to this type.</td> ><td>This field will not be initialized by old clients.<br/><br/><b>NOTE</b>: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_4')"> >[+] affected symbols: 38 (2.1%)</span> ><div id="c_4" style="display:none;"> ><div class='affected'><span class='iname_a'>g_sequence_append <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>gpointer <i>data</i></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_foreach <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>GFunc <i>func</i></span>, <span>gpointer <i>user_data</i></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_foreach_range <span class='sym_p'><span>( GSequenceIter* <span class='fp'>begin</span></span>, <span>GSequenceIter* <i>end</i></span>, <span>GFunc <i>func</i></span>, <span>gpointer <i>user_data</i></span> )</span></span><br/> ><div class='affect'>Field 'begin.left' in 1st parameter 'begin' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_free <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get <span class='sym_p'><span>( GSequenceIter* <span class='fp'>iter</span></span> )</span></span><br/> ><div class='affect'>Field 'iter.left' in 1st parameter 'iter' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get_begin_iter <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get_end_iter <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get_iter_at_pos <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>gint <i>pos</i></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get_length <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_insert_before <span class='sym_p'><span>( GSequenceIter* <span class='fp'>iter</span></span>, <span>gpointer <i>data</i></span> )</span></span><br/> ><div class='affect'>Field 'iter.left' in 1st parameter 'iter' (pointer) has base type 'struct _GSequenceNode'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Other_Binary_Changes'></a><a name='Other_Binary_Changes_In_Types'></a> ><h2>Other Changes in Data Types <span class='passed'> 6 </span></h2><hr/> ><span class='h_name'>gunicode.h</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_5')"> ><span class='ext'>[+]</span> <span class='ttype'>enum</span> GUnicodeScript <span class='passed'> 6 </span></span> ><br/> ><div id="c_5" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>The member <b>G_UNICODE_SCRIPT_CYPRO_MINOAN</b> with value <b>157</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>2</th> ><td>The member <b>G_UNICODE_SCRIPT_MATH</b> with value <b>162</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>3</th> ><td>The member <b>G_UNICODE_SCRIPT_OLD_UYGHUR</b> with value <b>158</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>4</th> ><td>The member <b>G_UNICODE_SCRIPT_TANGSA</b> with value <b>159</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>5</th> ><td>The member <b>G_UNICODE_SCRIPT_TOTO</b> with value <b>160</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>6</th> ><td>The member <b>G_UNICODE_SCRIPT_VITHKUQI</b> with value <b>161</b> has been added.</td> ><td>No effect.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_6')"> >[+] affected symbols: 3 (0.2%)</span> ><div id="c_6" style="display:none;"> ><div class='affected'><span class='iname_a'>g_unichar_get_script <span class='sym_p'><span>( gunichar <i>ch</i></span> )</span></span><br/> ><div class='affect'>Return value is of type 'enum GUnicodeScript'.</div> ><span class='iname_a'>g_unicode_script_from_iso15924 <span class='sym_p'><span>( guint32 <i>iso15924</i></span> )</span></span><br/> ><div class='affect'>Return value is of type 'enum GUnicodeScript'.</div> ><span class='iname_a'>g_unicode_script_to_iso15924 <span class='sym_p'><span>( enum GUnicodeScript <span class='fp'>script</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'script' is of type 'enum GUnicodeScript'.</div> ></div> ></div> ><br/><br/></div> > ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Headers'></a><h2>Header Files <span class='gray'> 95 </span></h2><hr/> ><div class='h_list'> ><built-in><br/> >dirent.h<br/> >FILE.h<br/> >gallocator.h<br/> >garray.h<br/> >gasyncqueue.h<br/> >gbitlock.h<br/> >gbookmarkfile.h<br/> >gbytes.h<br/> >gcache.h<br/> >gcharset.h<br/> >gchecksum.h<br/> >gcompletion.h<br/> >gconvert.h<br/> >gdataset.h<br/> >gdate.h<br/> >gdatetime.h<br/> >gdir.h<br/> >genviron.h<br/> >gerror.h<br/> >gfileutils.h<br/> >ggettext.h<br/> >ghash.h<br/> >ghmac.h<br/> >ghook.h<br/> >ghostutils.h<br/> >giochannel.h<br/> >gkeyfile.h<br/> >glib-init.h<br/> >glib-private.h<br/> >glib-unix.h<br/> >glibconfig.h<br/> >glibintl.h<br/> >glist.h<br/> >gmain.h<br/> >gmappedfile.h<br/> >gmarkup.h<br/> >gmem.h<br/> >gmessages.h<br/> >gnode.h<br/> >goption.h<br/> >gpattern.h<br/> >gpoll.h<br/> >gprintf.h<br/> >gquark.h<br/> >gqueue.h<br/> >grand.h<br/> >grcbox.h<br/> >grefcount.h<br/> >gregex.h<br/> >grel.h<br/> >gscanner.h<br/> >gsequence.h<br/> >gshell.h<br/> >gslice.h<br/> >gslist.h<br/> >gspawn.h<br/> >gstdio.h<br/> >gstrfuncs.h<br/> >gstring.h<br/> >gstringchunk.h<br/> >gstrvbuilder.h<br/> >gtestutils.h<br/> >gthread.h<br/> >gthreadpool.h<br/> >gtimer.h<br/> >gtimezone.h<br/> >gtrashstack.h<br/> >gtree.h<br/> >gtypes.h<br/> >gunicode.h<br/> >guri.h<br/> >gutils.h<br/> >gutilsprivate.h<br/> >gvariant-serialiser.h<br/> >gvariant.h<br/> >gvarianttype.h<br/> >gvarianttypeinfo.h<br/> >gversion.h<br/> >gwakeup.h<br/> >pcre.h<br/> >pthreadtypes.h<br/> >pwd.h<br/> >stdarg.h<br/> >stddef.h<br/> >struct_FILE.h<br/> >struct_mutex.h<br/> >struct_stat.h<br/> >struct_timespec.h<br/> >struct_tm.h<br/> >thread-shared-types.h<br/> >time_t.h<br/> >types.h<br/> >unistd.h<br/> >utime.h<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Sources'></a><h2>Source Files <span class='gray'> 91 </span></h2><hr/> ><div class='h_list'> >gallocator.c<br/> >garcbox.c<br/> >garray.c<br/> >gasyncqueue.c<br/> >gatomic.c<br/> >gbacktrace.c<br/> >gbase64.c<br/> >gbitlock.c<br/> >gbookmarkfile.c<br/> >gbytes.c<br/> >gcache.c<br/> >gcharset.c<br/> >gchecksum.c<br/> >gcompletion.c<br/> >gconvert.c<br/> >gdataset.c<br/> >gdate.c<br/> >gdatetime.c<br/> >gdir.c<br/> >genviron.c<br/> >gerror.c<br/> >gfileutils.c<br/> >ggettext.c<br/> >ghash.c<br/> >ghmac.c<br/> >ghook.c<br/> >ghostutils.c<br/> >giochannel.c<br/> >giounix.c<br/> >gkeyfile.c<br/> >glib-init.c<br/> >glib-private.c<br/> >glib-unix.c<br/> >glist.c<br/> >gmain.c<br/> >gmappedfile.c<br/> >gmarkup.c<br/> >gmem.c<br/> >gmessages.c<br/> >gnode.c<br/> >goption.c<br/> >gpattern.c<br/> >gpoll.c<br/> >gprimes.c<br/> >gprintf.c<br/> >gqsort.c<br/> >gquark.c<br/> >gqueue.c<br/> >grand.c<br/> >grcbox.c<br/> >grefcount.c<br/> >grefstring.c<br/> >gregex.c<br/> >grel.c<br/> >gscanner.c<br/> >gsequence.c<br/> >gshell.c<br/> >gslice.c<br/> >gslist.c<br/> >gspawn.c<br/> >gstdio.c<br/> >gstrfuncs.c<br/> >gstring.c<br/> >gstringchunk.c<br/> >gstrvbuilder.c<br/> >gtestutils.c<br/> >gthread-deprecated.c<br/> >gthread-posix.c<br/> >gthread.c<br/> >gthreadpool.c<br/> >gtimer.c<br/> >gtimezone.c<br/> >gtranslit.c<br/> >gtrashstack.c<br/> >gtree.c<br/> >gunibreak.c<br/> >gunicollate.c<br/> >gunidecomp.c<br/> >guniprop.c<br/> >guri.c<br/> >gutf8.c<br/> >gutils.c<br/> >guuid.c<br/> >gvariant-core.c<br/> >gvariant-parser.c<br/> >gvariant-serialiser.c<br/> >gvariant.c<br/> >gvarianttype.c<br/> >gvarianttypeinfo.c<br/> >gversion.c<br/> >gwakeup.c<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> ><div class='lib_list'> >libglib-2.0.so.0.7000.4-2.70.4-1.x86_64<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><br/><br/><br/></div><div id='SourceTab' class='tab'> ><h2>Test Info</h2><hr/> ><table class='summary'> ><tr><th>Module Name</th><td>libglib</td></tr> ><tr><th>Version #1</th><td>2.70.4</td></tr> ><tr><th>Version #2</th><td>2.72.3</td></tr> ><tr><th>Arch</th><td>x86_64</td></tr> ><tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr> ></table> ><h2>Test Results</h2><hr/> ><table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>95</a></td></tr> ><tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>91</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>1807 / 458</td></tr> ><tr><th>Compatibility</th> ><td class='compatible'>100%</td> ></tr> ></table> ><h2>Problem Summary</h2><hr/> ><table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Source_Added' style='color:Blue;'>8</a></td></tr> ><tr><th>Removed Symbols</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>Low</td><td class='warning'><a href='#Type_Source_Problems_Low' style='color:Blue;'>2</a></td></tr> ><tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> ><tr><td>Medium</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>Other Changes<br/>in Data Types</th><td>-</td><td class='passed'><a href='#Other_Source_Changes_In_Types' style='color:Blue;'>6</a></td></tr> ></table> > ><a name='Source_Added'></a><h2>Added Symbols <span class='new'> 8 </span></h2><hr/> ><span class='h_name'>ghash.c</span><br/> ><span class="iname">g_hash_table_new_similar <span class='sym_p'><span>( GHashTable* <span class='color_p'>other_hash_table</span></span> )</span></span><br/> ><br/> ><span class='h_name'>gmain.c</span><br/> ><span class="iname">g_main_context_new_with_flags <span class='sym_p'><span>( enum GMainContextFlags <span class='color_p'>flags</span></span> )</span></span><br/> ><br/> ><span class='h_name'>gmem.c</span><br/> ><span class="iname">g_aligned_alloc <span class='sym_p'><span>( gsize <span class='color_p'>n_blocks</span></span>, <span>gsize <span class='color_p'>n_block_bytes</span></span>, <span>gsize <span class='color_p'>alignment</span></span> )</span></span><br/> ><span class="iname">g_aligned_alloc0 <span class='sym_p'><span>( gsize <span class='color_p'>n_blocks</span></span>, <span>gsize <span class='color_p'>n_block_bytes</span></span>, <span>gsize <span class='color_p'>alignment</span></span> )</span></span><br/> ><span class="iname">g_aligned_free <span class='sym_p'><span>( gpointer <span class='color_p'>mem</span></span> )</span></span><br/> ><br/> ><span class='h_name'>gmessages.c</span><br/> ><span class="iname">g_log_get_debug_enabled <span class='sym_p'>( )</span></span><br/> ><span class="iname">g_log_set_debug_enabled <span class='sym_p'><span>( gboolean <span class='color_p'>enabled</span></span> )</span></span><br/> ><br/> ><span class='h_name'>gutils.c</span><br/> ><span class="iname">g_get_user_state_dir <span class='sym_p'>( )</span></span><br/> ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Low_Risk_Source_Problems'></a><a name='Type_Source_Problems_Low'></a> ><h2>Problems with Data Types, Low Severity <span class='warning'> 2 </span></h2><hr/> ><span class='h_name'>gmain.c</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_7')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> _GMainContext <span class='warning'> 1 </span></span> ><br/> ><div id="c_7" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>flags</b> has been added to this type.</td> ><td>This field will not be initialized or used by old client applications.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_8')"> >[+] affected symbols: 81 (4.5%)</span> ><div id="c_8" style="display:none;"> ><div class='affected'><span class='iname_a'>g_child_watch_funcs <span class='attr'>[data]</span></span><br/> ><div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_child_watch_source_new <span class='sym_p'><span>( GPid <i>pid</i></span> )</span></span><br/> ><div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_idle_funcs <span class='attr'>[data]</span></span><br/> ><div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_idle_source_new <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_io_create_watch <span class='sym_p'><span>( GIOChannel* <i>channel</i></span>, <span>enum GIOCondition <i>condition</i></span> )</span></span><br/> ><div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_io_watch_funcs <span class='attr'>[data]</span></span><br/> ><div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_main_context_acquire <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_main_context_add_poll <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span>, <span>GPollFD* <i>fd</i></span>, <span>gint <i>priority</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_main_context_check <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span>, <span>gint <i>max_priority</i></span>, <span>GPollFD* <i>fds</i></span>, <span>gint <i>n_fds</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> ><span class='iname_a'>g_main_context_default <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Return value (pointer) has base type 'struct _GMainContext'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><br/> ><span class='h_name'>gsequence.c</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_9')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> _GSequenceNode <span class='warning'> 1 </span></span> ><br/> ><div id="c_9" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>priority</b> has been added to this type.</td> ><td>This field will not be initialized or used by old client applications.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_10')"> >[+] affected symbols: 38 (2.1%)</span> ><div id="c_10" style="display:none;"> ><div class='affected'><span class='iname_a'>g_sequence_append <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>gpointer <i>data</i></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_foreach <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>GFunc <i>func</i></span>, <span>gpointer <i>user_data</i></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_foreach_range <span class='sym_p'><span>( GSequenceIter* <span class='fp'>begin</span></span>, <span>GSequenceIter* <i>end</i></span>, <span>GFunc <i>func</i></span>, <span>gpointer <i>user_data</i></span> )</span></span><br/> ><div class='affect'>Field 'begin.left' in 1st parameter 'begin' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_free <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get <span class='sym_p'><span>( GSequenceIter* <span class='fp'>iter</span></span> )</span></span><br/> ><div class='affect'>Field 'iter.left' in 1st parameter 'iter' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get_begin_iter <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get_end_iter <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get_iter_at_pos <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>gint <i>pos</i></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_get_length <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> ><div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> ><span class='iname_a'>g_sequence_insert_before <span class='sym_p'><span>( GSequenceIter* <span class='fp'>iter</span></span>, <span>gpointer <i>data</i></span> )</span></span><br/> ><div class='affect'>Field 'iter.left' in 1st parameter 'iter' (pointer) has base type 'struct _GSequenceNode'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Other_Source_Changes'></a><a name='Other_Source_Changes_In_Types'></a> ><h2>Other Changes in Data Types <span class='passed'> 6 </span></h2><hr/> ><span class='h_name'>gunicode.h</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_11')"> ><span class='ext'>[+]</span> <span class='ttype'>enum</span> GUnicodeScript <span class='passed'> 6 </span></span> ><br/> ><div id="c_11" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>The member <b>G_UNICODE_SCRIPT_CYPRO_MINOAN</b> with value <b>157</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>2</th> ><td>The member <b>G_UNICODE_SCRIPT_MATH</b> with value <b>162</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>3</th> ><td>The member <b>G_UNICODE_SCRIPT_OLD_UYGHUR</b> with value <b>158</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>4</th> ><td>The member <b>G_UNICODE_SCRIPT_TANGSA</b> with value <b>159</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>5</th> ><td>The member <b>G_UNICODE_SCRIPT_TOTO</b> with value <b>160</b> has been added.</td> ><td>No effect.</td> ></tr> ><tr> ><th>6</th> ><td>The member <b>G_UNICODE_SCRIPT_VITHKUQI</b> with value <b>161</b> has been added.</td> ><td>No effect.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_12')"> >[+] affected symbols: 3 (0.2%)</span> ><div id="c_12" style="display:none;"> ><div class='affected'><span class='iname_a'>g_unichar_get_script <span class='sym_p'><span>( gunichar <i>ch</i></span> )</span></span><br/> ><div class='affect'>Return value is of type 'enum GUnicodeScript'.</div> ><span class='iname_a'>g_unicode_script_from_iso15924 <span class='sym_p'><span>( guint32 <i>iso15924</i></span> )</span></span><br/> ><div class='affect'>Return value is of type 'enum GUnicodeScript'.</div> ><span class='iname_a'>g_unicode_script_to_iso15924 <span class='sym_p'><span>( enum GUnicodeScript <span class='fp'>script</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'script' is of type 'enum GUnicodeScript'.</div> ></div> ></div> ><br/><br/></div> > ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Headers'></a><h2>Header Files <span class='gray'> 95 </span></h2><hr/> ><div class='h_list'> ><built-in><br/> >dirent.h<br/> >FILE.h<br/> >gallocator.h<br/> >garray.h<br/> >gasyncqueue.h<br/> >gbitlock.h<br/> >gbookmarkfile.h<br/> >gbytes.h<br/> >gcache.h<br/> >gcharset.h<br/> >gchecksum.h<br/> >gcompletion.h<br/> >gconvert.h<br/> >gdataset.h<br/> >gdate.h<br/> >gdatetime.h<br/> >gdir.h<br/> >genviron.h<br/> >gerror.h<br/> >gfileutils.h<br/> >ggettext.h<br/> >ghash.h<br/> >ghmac.h<br/> >ghook.h<br/> >ghostutils.h<br/> >giochannel.h<br/> >gkeyfile.h<br/> >glib-init.h<br/> >glib-private.h<br/> >glib-unix.h<br/> >glibconfig.h<br/> >glibintl.h<br/> >glist.h<br/> >gmain.h<br/> >gmappedfile.h<br/> >gmarkup.h<br/> >gmem.h<br/> >gmessages.h<br/> >gnode.h<br/> >goption.h<br/> >gpattern.h<br/> >gpoll.h<br/> >gprintf.h<br/> >gquark.h<br/> >gqueue.h<br/> >grand.h<br/> >grcbox.h<br/> >grefcount.h<br/> >gregex.h<br/> >grel.h<br/> >gscanner.h<br/> >gsequence.h<br/> >gshell.h<br/> >gslice.h<br/> >gslist.h<br/> >gspawn.h<br/> >gstdio.h<br/> >gstrfuncs.h<br/> >gstring.h<br/> >gstringchunk.h<br/> >gstrvbuilder.h<br/> >gtestutils.h<br/> >gthread.h<br/> >gthreadpool.h<br/> >gtimer.h<br/> >gtimezone.h<br/> >gtrashstack.h<br/> >gtree.h<br/> >gtypes.h<br/> >gunicode.h<br/> >guri.h<br/> >gutils.h<br/> >gutilsprivate.h<br/> >gvariant-serialiser.h<br/> >gvariant.h<br/> >gvarianttype.h<br/> >gvarianttypeinfo.h<br/> >gversion.h<br/> >gwakeup.h<br/> >pcre.h<br/> >pthreadtypes.h<br/> >pwd.h<br/> >stdarg.h<br/> >stddef.h<br/> >struct_FILE.h<br/> >struct_mutex.h<br/> >struct_stat.h<br/> >struct_timespec.h<br/> >struct_tm.h<br/> >thread-shared-types.h<br/> >time_t.h<br/> >types.h<br/> >unistd.h<br/> >utime.h<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Sources'></a><h2>Source Files <span class='gray'> 91 </span></h2><hr/> ><div class='h_list'> >gallocator.c<br/> >garcbox.c<br/> >garray.c<br/> >gasyncqueue.c<br/> >gatomic.c<br/> >gbacktrace.c<br/> >gbase64.c<br/> >gbitlock.c<br/> >gbookmarkfile.c<br/> >gbytes.c<br/> >gcache.c<br/> >gcharset.c<br/> >gchecksum.c<br/> >gcompletion.c<br/> >gconvert.c<br/> >gdataset.c<br/> >gdate.c<br/> >gdatetime.c<br/> >gdir.c<br/> >genviron.c<br/> >gerror.c<br/> >gfileutils.c<br/> >ggettext.c<br/> >ghash.c<br/> >ghmac.c<br/> >ghook.c<br/> >ghostutils.c<br/> >giochannel.c<br/> >giounix.c<br/> >gkeyfile.c<br/> >glib-init.c<br/> >glib-private.c<br/> >glib-unix.c<br/> >glist.c<br/> >gmain.c<br/> >gmappedfile.c<br/> >gmarkup.c<br/> >gmem.c<br/> >gmessages.c<br/> >gnode.c<br/> >goption.c<br/> >gpattern.c<br/> >gpoll.c<br/> >gprimes.c<br/> >gprintf.c<br/> >gqsort.c<br/> >gquark.c<br/> >gqueue.c<br/> >grand.c<br/> >grcbox.c<br/> >grefcount.c<br/> >grefstring.c<br/> >gregex.c<br/> >grel.c<br/> >gscanner.c<br/> >gsequence.c<br/> >gshell.c<br/> >gslice.c<br/> >gslist.c<br/> >gspawn.c<br/> >gstdio.c<br/> >gstrfuncs.c<br/> >gstring.c<br/> >gstringchunk.c<br/> >gstrvbuilder.c<br/> >gtestutils.c<br/> >gthread-deprecated.c<br/> >gthread-posix.c<br/> >gthread.c<br/> >gthreadpool.c<br/> >gtimer.c<br/> >gtimezone.c<br/> >gtranslit.c<br/> >gtrashstack.c<br/> >gtree.c<br/> >gunibreak.c<br/> >gunicollate.c<br/> >gunidecomp.c<br/> >guniprop.c<br/> >guri.c<br/> >gutf8.c<br/> >gutils.c<br/> >guuid.c<br/> >gvariant-core.c<br/> >gvariant-parser.c<br/> >gvariant-serialiser.c<br/> >gvariant.c<br/> >gvarianttype.c<br/> >gvarianttypeinfo.c<br/> >gversion.c<br/> >gwakeup.c<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> ><div class='lib_list'> >libglib-2.0.so.0.7000.4-2.70.4-1.x86_64<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><br/><br/><br/></div><hr/> ><div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/abi-compliance-checker'>ABI Compliance Checker</a> 2.3  </i> ></div> ><br/> > ></body></html> >
<!-- kind:binary;verdict:compatible;affected:0;added:8;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:2;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;type_changes_other:6;tool_version:2.3 --> <!-- kind:source;verdict:compatible;affected:0;added:8;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:2;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;type_changes_other:6;tool_version:2.3 --> <!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <meta name="keywords" content="libglib, compatibility, API, ABI, report" /> <meta name="description" content="API/ABI compatibility report for the libglib object between 2.70.4 and 2.72.3 versions" /> <title>libglib: 2.70.4 to 2.72.3 compatibility report</title> <style type="text/css"> body { font-family:Arial, sans-serif; background-color:White; color:Black; } hr { color:Black; background-color:Black; height:1px; border:0; } h1 { margin-bottom:0px; padding-bottom:0px; font-size:1.625em; } h2 { margin-bottom:0px; padding-bottom:0px; font-size:1.25em; white-space:nowrap; } span.section { font-weight:bold; cursor:pointer; color:#003E69; white-space:nowrap; margin-left:0.3125em; } span.new_sign { font-weight:bold; margin-left:1.65em; color:#003E69; } span.new_sign_lbl { margin-left:3em; font-size:1em; color:Black; } span:hover.section { color:#336699; } span.sect_aff { cursor:pointer; padding-left:1.55em; font-size:0.875em; color:#cc3300; } span.sect_info { cursor:pointer; padding-left:1.55em; font-size:0.875em; color:Black; } span.ext { font-weight:normal; } span.h_name { color:#cc3300; font-size:0.875em; font-weight:bold; } div.h_list, div.lib_list { font-size:0.94em; padding-left:0.4em; } span.ns { color:#408080; font-size:0.94em; } span.lib_name { color:Green; font-size:0.875em; font-weight:bold; } span.iname { font-weight:bold; color:#003E69; margin-left:0.3125em; } span.iname_b { font-weight:bold; } span.iname_a { color:#333333; font-weight:bold; font-size:0.94em; } span.sym_p { font-weight:normal; white-space:normal; } span.sym_pd { white-space:normal; } span.sym_p span, span.sym_pd span { white-space:nowrap; } div.affect { padding-left:1em; padding-bottom:10px; font-size:0.87em; font-style:italic; line-height:0.9em; } div.affected { padding-left:1.9em; padding-top:10px; } table.ptable { border-collapse:collapse; border:1px outset black; margin-left:0.95em; margin-top:3px; margin-bottom:3px; width:56.25em; } table.ptable td { border:1px solid gray; padding:3px; font-size:0.875em; text-align:left; vertical-align:top; max-width:28em; word-wrap:break-word; } table.ptable th.pn { width:2%; } table.ptable th.chg { width:47%; } table.vtable { border-collapse:collapse; border:1px outset black; margin-left:1.9em; margin-top:0.7em; } table.vtable td { border:1px solid gray; padding:3px; font-size:0.875em; vertical-align:top; max-width:450px; word-wrap:break-word; } table.ptable th, table.vtable th { background-color:#eeeeee; font-weight:bold; color:#333333; font-family:Verdana, Arial; font-size:0.875em; border:1px solid gray; text-align:center; vertical-align:top; white-space:nowrap; padding:3px; } table.summary { border-collapse:collapse; border:1px outset black; } table.summary th { background-color:#eeeeee; font-weight:normal; text-align:left; font-size:0.94em; white-space:nowrap; border:1px inset gray; padding:3px; } table.summary td { text-align:right; white-space:nowrap; border:1px inset gray; padding:3px 5px 3px 10px; } span.mngl { padding-left:1em; font-size:0.875em; cursor:text; color:#444444; font-weight:bold; } span.pleft { padding-left:2.5em; } span.sym_ver { color:#333333; white-space:nowrap; font-family:"DejaVu Sans Mono", Monospace; } span.attr { color:#333333; font-weight:normal; } span.color_p { font-style:italic; color:Brown; } span.p { font-style:italic; } span.fp { font-style:italic; background-color:#DCDCDC; } span.ttype { font-weight:normal; } span.nowrap { white-space:nowrap; } span.value { font-weight:bold; } .passed { background-color:#CCFFCC; font-weight:normal; } .warning { background-color:#F4F4AF; font-weight:normal; } .failed { background-color:#FFCCCC; font-weight:normal; } .new { background-color:#C6DEFF; font-weight:normal; } .compatible { background-color:#CCFFCC; font-weight:normal; } .almost_compatible { background-color:#FFDAA3; font-weight:normal; } .incompatible { background-color:#FFCCCC; font-weight:normal; } .gray { background-color:#DCDCDC; font-weight:normal; } .top_ref { font-size:0.69em; } .footer { font-size:0.75em; } .tabset { float:left; } a.tab { border:1px solid Black; float:left; margin:0px 5px -1px 0px; padding:3px 5px 3px 5px; position:relative; font-size:0.875em; background-color:#DDD; text-decoration:none; color:Black; } a.disabled:hover { color:Black; background:#EEE; } a.active:hover { color:Black; background:White; } a.active { border-bottom-color:White; background-color:White; } div.tab { border-top:1px solid Black; padding:0px; width:100%; clear:both; } </style> <script type="text/javascript" language="JavaScript"> <!-- function showContent(header, id) { e = document.getElementById(id); if(e.style.display == 'none') { e.style.display = 'block'; e.style.visibility = 'visible'; header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]"); } else { e.style.display = 'none'; e.style.visibility = 'hidden'; header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]"); } } function initTabs() { var url = window.location.href; if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1) { var tab1 = document.getElementById('BinaryID'); var tab2 = document.getElementById('SourceID'); tab1.className='tab disabled'; tab2.className='tab active'; } var sets = document.getElementsByTagName('div'); for (var i = 0; i < sets.length; i++) { if (sets[i].className.indexOf('tabset') != -1) { var tabs = []; var links = sets[i].getElementsByTagName('a'); for (var j = 0; j < links.length; j++) { if (links[j].className.indexOf('tab') != -1) { tabs.push(links[j]); links[j].tabs = tabs; var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1)); //reset all tabs on start if (tab) { if (links[j].className.indexOf('active')!=-1) { tab.style.display = 'block'; } else { tab.style.display = 'none'; } } links[j].onclick = function() { var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1)); if (tab) { //reset all tabs before change for (var k = 0; k < this.tabs.length; k++) { document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none'; this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled'); } this.className = 'tab active'; tab.style.display = 'block'; // window.location.hash = this.id.replace('ID', ''); return false; } } } } } } if(url.indexOf('#')!=-1) { location.href=location.href; } } if (window.addEventListener) window.addEventListener('load', initTabs, false); else if (window.attachEvent) window.attachEvent('onload', initTabs); --> </script> </head> <body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>libglib-2.0.so</span> object between <span style='color:Red;'>2.70.4</span> and <span style='color:Red;'>2.72.3</span> versions on <span style='color:Blue;'>x86_64</span></h1> <br/> <div class='tabset'> <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a> <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a> </div><div id='BinaryTab' class='tab'> <h2>Test Info</h2><hr/> <table class='summary'> <tr><th>Module Name</th><td>libglib</td></tr> <tr><th>Version #1</th><td>2.70.4</td></tr> <tr><th>Version #2</th><td>2.72.3</td></tr> <tr><th>Arch</th><td>x86_64</td></tr> <tr><th>GCC Version</th><td>11.2.0</td></tr> <tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr> </table> <h2>Test Results</h2><hr/> <table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>95</a></td></tr> <tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>91</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>1807 / 458</td></tr> <tr><th>Compatibility</th> <td class='compatible'>100%</td> </tr> </table> <h2>Problem Summary</h2><hr/> <table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Binary_Added' style='color:Blue;'>8</a></td></tr> <tr><th>Removed Symbols</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>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>2</a></td></tr> <tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> <tr><td>Medium</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>Other Changes<br/>in Data Types</th><td>-</td><td class='passed'><a href='#Other_Binary_Changes_In_Types' style='color:Blue;'>6</a></td></tr> </table> <a name='Binary_Added'></a><h2>Added Symbols <span class='new'> 8 </span></h2><hr/> <span class='h_name'>ghash.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> <span class="iname">g_hash_table_new_similar <span class='sym_p'><span>( GHashTable* <span class='color_p'>other_hash_table</span></span> )</span></span><br/> <br/> <span class='h_name'>gmain.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> <span class="iname">g_main_context_new_with_flags <span class='sym_p'><span>( enum GMainContextFlags <span class='color_p'>flags</span></span> )</span></span><br/> <br/> <span class='h_name'>gmem.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> <span class="iname">g_aligned_alloc <span class='sym_p'><span>( gsize <span class='color_p'>n_blocks</span></span>, <span>gsize <span class='color_p'>n_block_bytes</span></span>, <span>gsize <span class='color_p'>alignment</span></span> )</span></span><br/> <span class="iname">g_aligned_alloc0 <span class='sym_p'><span>( gsize <span class='color_p'>n_blocks</span></span>, <span>gsize <span class='color_p'>n_block_bytes</span></span>, <span>gsize <span class='color_p'>alignment</span></span> )</span></span><br/> <span class="iname">g_aligned_free <span class='sym_p'><span>( gpointer <span class='color_p'>mem</span></span> )</span></span><br/> <br/> <span class='h_name'>gmessages.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> <span class="iname">g_log_get_debug_enabled <span class='sym_p'>( )</span></span><br/> <span class="iname">g_log_set_debug_enabled <span class='sym_p'><span>( gboolean <span class='color_p'>enabled</span></span> )</span></span><br/> <br/> <span class='h_name'>gutils.c</span>, <span class='lib_name'>libglib-2.0.so.0.7200.3-2.72.3-1.x86_64</span><br/> <span class="iname">g_get_user_state_dir <span class='sym_p'>( )</span></span><br/> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a> <h2>Problems with Data Types, Low Severity <span class='warning'> 2 </span></h2><hr/> <span class='h_name'>gmain.c</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_1')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> _GMainContext <span class='warning'> 1 </span></span> <br/> <div id="c_1" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>flags</b> has been added to this type.</td> <td>This field will not be initialized by old clients.<br/><br/><b>NOTE</b>: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_2')"> [+] affected symbols: 81 (4.5%)</span> <div id="c_2" style="display:none;"> <div class='affected'><span class='iname_a'>g_child_watch_funcs <span class='attr'>[data]</span></span><br/> <div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_child_watch_source_new <span class='sym_p'><span>( GPid <i>pid</i></span> )</span></span><br/> <div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_idle_funcs <span class='attr'>[data]</span></span><br/> <div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_idle_source_new <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_io_create_watch <span class='sym_p'><span>( GIOChannel* <i>channel</i></span>, <span>enum GIOCondition <i>condition</i></span> )</span></span><br/> <div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_io_watch_funcs <span class='attr'>[data]</span></span><br/> <div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_main_context_acquire <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span> )</span></span><br/> <div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_main_context_add_poll <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span>, <span>GPollFD* <i>fd</i></span>, <span>gint <i>priority</i></span> )</span></span><br/> <div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_main_context_check <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span>, <span>gint <i>max_priority</i></span>, <span>GPollFD* <i>fds</i></span>, <span>gint <i>n_fds</i></span> )</span></span><br/> <div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_main_context_default <span class='sym_p'>( )</span></span><br/> <div class='affect'>Return value (pointer) has base type 'struct _GMainContext'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <br/> <span class='h_name'>gsequence.c</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_3')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> _GSequenceNode <span class='warning'> 1 </span></span> <br/> <div id="c_3" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>priority</b> has been added to this type.</td> <td>This field will not be initialized by old clients.<br/><br/><b>NOTE</b>: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_4')"> [+] affected symbols: 38 (2.1%)</span> <div id="c_4" style="display:none;"> <div class='affected'><span class='iname_a'>g_sequence_append <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>gpointer <i>data</i></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_foreach <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>GFunc <i>func</i></span>, <span>gpointer <i>user_data</i></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_foreach_range <span class='sym_p'><span>( GSequenceIter* <span class='fp'>begin</span></span>, <span>GSequenceIter* <i>end</i></span>, <span>GFunc <i>func</i></span>, <span>gpointer <i>user_data</i></span> )</span></span><br/> <div class='affect'>Field 'begin.left' in 1st parameter 'begin' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_free <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get <span class='sym_p'><span>( GSequenceIter* <span class='fp'>iter</span></span> )</span></span><br/> <div class='affect'>Field 'iter.left' in 1st parameter 'iter' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get_begin_iter <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get_end_iter <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get_iter_at_pos <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>gint <i>pos</i></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get_length <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_insert_before <span class='sym_p'><span>( GSequenceIter* <span class='fp'>iter</span></span>, <span>gpointer <i>data</i></span> )</span></span><br/> <div class='affect'>Field 'iter.left' in 1st parameter 'iter' (pointer) has base type 'struct _GSequenceNode'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Other_Binary_Changes'></a><a name='Other_Binary_Changes_In_Types'></a> <h2>Other Changes in Data Types <span class='passed'> 6 </span></h2><hr/> <span class='h_name'>gunicode.h</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_5')"> <span class='ext'>[+]</span> <span class='ttype'>enum</span> GUnicodeScript <span class='passed'> 6 </span></span> <br/> <div id="c_5" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>The member <b>G_UNICODE_SCRIPT_CYPRO_MINOAN</b> with value <b>157</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>2</th> <td>The member <b>G_UNICODE_SCRIPT_MATH</b> with value <b>162</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>3</th> <td>The member <b>G_UNICODE_SCRIPT_OLD_UYGHUR</b> with value <b>158</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>4</th> <td>The member <b>G_UNICODE_SCRIPT_TANGSA</b> with value <b>159</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>5</th> <td>The member <b>G_UNICODE_SCRIPT_TOTO</b> with value <b>160</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>6</th> <td>The member <b>G_UNICODE_SCRIPT_VITHKUQI</b> with value <b>161</b> has been added.</td> <td>No effect.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_6')"> [+] affected symbols: 3 (0.2%)</span> <div id="c_6" style="display:none;"> <div class='affected'><span class='iname_a'>g_unichar_get_script <span class='sym_p'><span>( gunichar <i>ch</i></span> )</span></span><br/> <div class='affect'>Return value is of type 'enum GUnicodeScript'.</div> <span class='iname_a'>g_unicode_script_from_iso15924 <span class='sym_p'><span>( guint32 <i>iso15924</i></span> )</span></span><br/> <div class='affect'>Return value is of type 'enum GUnicodeScript'.</div> <span class='iname_a'>g_unicode_script_to_iso15924 <span class='sym_p'><span>( enum GUnicodeScript <span class='fp'>script</span></span> )</span></span><br/> <div class='affect'>1st parameter 'script' is of type 'enum GUnicodeScript'.</div> </div> </div> <br/><br/></div> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Headers'></a><h2>Header Files <span class='gray'> 95 </span></h2><hr/> <div class='h_list'> <built-in><br/> dirent.h<br/> FILE.h<br/> gallocator.h<br/> garray.h<br/> gasyncqueue.h<br/> gbitlock.h<br/> gbookmarkfile.h<br/> gbytes.h<br/> gcache.h<br/> gcharset.h<br/> gchecksum.h<br/> gcompletion.h<br/> gconvert.h<br/> gdataset.h<br/> gdate.h<br/> gdatetime.h<br/> gdir.h<br/> genviron.h<br/> gerror.h<br/> gfileutils.h<br/> ggettext.h<br/> ghash.h<br/> ghmac.h<br/> ghook.h<br/> ghostutils.h<br/> giochannel.h<br/> gkeyfile.h<br/> glib-init.h<br/> glib-private.h<br/> glib-unix.h<br/> glibconfig.h<br/> glibintl.h<br/> glist.h<br/> gmain.h<br/> gmappedfile.h<br/> gmarkup.h<br/> gmem.h<br/> gmessages.h<br/> gnode.h<br/> goption.h<br/> gpattern.h<br/> gpoll.h<br/> gprintf.h<br/> gquark.h<br/> gqueue.h<br/> grand.h<br/> grcbox.h<br/> grefcount.h<br/> gregex.h<br/> grel.h<br/> gscanner.h<br/> gsequence.h<br/> gshell.h<br/> gslice.h<br/> gslist.h<br/> gspawn.h<br/> gstdio.h<br/> gstrfuncs.h<br/> gstring.h<br/> gstringchunk.h<br/> gstrvbuilder.h<br/> gtestutils.h<br/> gthread.h<br/> gthreadpool.h<br/> gtimer.h<br/> gtimezone.h<br/> gtrashstack.h<br/> gtree.h<br/> gtypes.h<br/> gunicode.h<br/> guri.h<br/> gutils.h<br/> gutilsprivate.h<br/> gvariant-serialiser.h<br/> gvariant.h<br/> gvarianttype.h<br/> gvarianttypeinfo.h<br/> gversion.h<br/> gwakeup.h<br/> pcre.h<br/> pthreadtypes.h<br/> pwd.h<br/> stdarg.h<br/> stddef.h<br/> struct_FILE.h<br/> struct_mutex.h<br/> struct_stat.h<br/> struct_timespec.h<br/> struct_tm.h<br/> thread-shared-types.h<br/> time_t.h<br/> types.h<br/> unistd.h<br/> utime.h<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <a name='Sources'></a><h2>Source Files <span class='gray'> 91 </span></h2><hr/> <div class='h_list'> gallocator.c<br/> garcbox.c<br/> garray.c<br/> gasyncqueue.c<br/> gatomic.c<br/> gbacktrace.c<br/> gbase64.c<br/> gbitlock.c<br/> gbookmarkfile.c<br/> gbytes.c<br/> gcache.c<br/> gcharset.c<br/> gchecksum.c<br/> gcompletion.c<br/> gconvert.c<br/> gdataset.c<br/> gdate.c<br/> gdatetime.c<br/> gdir.c<br/> genviron.c<br/> gerror.c<br/> gfileutils.c<br/> ggettext.c<br/> ghash.c<br/> ghmac.c<br/> ghook.c<br/> ghostutils.c<br/> giochannel.c<br/> giounix.c<br/> gkeyfile.c<br/> glib-init.c<br/> glib-private.c<br/> glib-unix.c<br/> glist.c<br/> gmain.c<br/> gmappedfile.c<br/> gmarkup.c<br/> gmem.c<br/> gmessages.c<br/> gnode.c<br/> goption.c<br/> gpattern.c<br/> gpoll.c<br/> gprimes.c<br/> gprintf.c<br/> gqsort.c<br/> gquark.c<br/> gqueue.c<br/> grand.c<br/> grcbox.c<br/> grefcount.c<br/> grefstring.c<br/> gregex.c<br/> grel.c<br/> gscanner.c<br/> gsequence.c<br/> gshell.c<br/> gslice.c<br/> gslist.c<br/> gspawn.c<br/> gstdio.c<br/> gstrfuncs.c<br/> gstring.c<br/> gstringchunk.c<br/> gstrvbuilder.c<br/> gtestutils.c<br/> gthread-deprecated.c<br/> gthread-posix.c<br/> gthread.c<br/> gthreadpool.c<br/> gtimer.c<br/> gtimezone.c<br/> gtranslit.c<br/> gtrashstack.c<br/> gtree.c<br/> gunibreak.c<br/> gunicollate.c<br/> gunidecomp.c<br/> guniprop.c<br/> guri.c<br/> gutf8.c<br/> gutils.c<br/> guuid.c<br/> gvariant-core.c<br/> gvariant-parser.c<br/> gvariant-serialiser.c<br/> gvariant.c<br/> gvarianttype.c<br/> gvarianttypeinfo.c<br/> gversion.c<br/> gwakeup.c<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> <div class='lib_list'> libglib-2.0.so.0.7000.4-2.70.4-1.x86_64<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <br/><br/><br/></div><div id='SourceTab' class='tab'> <h2>Test Info</h2><hr/> <table class='summary'> <tr><th>Module Name</th><td>libglib</td></tr> <tr><th>Version #1</th><td>2.70.4</td></tr> <tr><th>Version #2</th><td>2.72.3</td></tr> <tr><th>Arch</th><td>x86_64</td></tr> <tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr> </table> <h2>Test Results</h2><hr/> <table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>95</a></td></tr> <tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>91</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>1807 / 458</td></tr> <tr><th>Compatibility</th> <td class='compatible'>100%</td> </tr> </table> <h2>Problem Summary</h2><hr/> <table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Source_Added' style='color:Blue;'>8</a></td></tr> <tr><th>Removed Symbols</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>Low</td><td class='warning'><a href='#Type_Source_Problems_Low' style='color:Blue;'>2</a></td></tr> <tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> <tr><td>Medium</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>Other Changes<br/>in Data Types</th><td>-</td><td class='passed'><a href='#Other_Source_Changes_In_Types' style='color:Blue;'>6</a></td></tr> </table> <a name='Source_Added'></a><h2>Added Symbols <span class='new'> 8 </span></h2><hr/> <span class='h_name'>ghash.c</span><br/> <span class="iname">g_hash_table_new_similar <span class='sym_p'><span>( GHashTable* <span class='color_p'>other_hash_table</span></span> )</span></span><br/> <br/> <span class='h_name'>gmain.c</span><br/> <span class="iname">g_main_context_new_with_flags <span class='sym_p'><span>( enum GMainContextFlags <span class='color_p'>flags</span></span> )</span></span><br/> <br/> <span class='h_name'>gmem.c</span><br/> <span class="iname">g_aligned_alloc <span class='sym_p'><span>( gsize <span class='color_p'>n_blocks</span></span>, <span>gsize <span class='color_p'>n_block_bytes</span></span>, <span>gsize <span class='color_p'>alignment</span></span> )</span></span><br/> <span class="iname">g_aligned_alloc0 <span class='sym_p'><span>( gsize <span class='color_p'>n_blocks</span></span>, <span>gsize <span class='color_p'>n_block_bytes</span></span>, <span>gsize <span class='color_p'>alignment</span></span> )</span></span><br/> <span class="iname">g_aligned_free <span class='sym_p'><span>( gpointer <span class='color_p'>mem</span></span> )</span></span><br/> <br/> <span class='h_name'>gmessages.c</span><br/> <span class="iname">g_log_get_debug_enabled <span class='sym_p'>( )</span></span><br/> <span class="iname">g_log_set_debug_enabled <span class='sym_p'><span>( gboolean <span class='color_p'>enabled</span></span> )</span></span><br/> <br/> <span class='h_name'>gutils.c</span><br/> <span class="iname">g_get_user_state_dir <span class='sym_p'>( )</span></span><br/> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Low_Risk_Source_Problems'></a><a name='Type_Source_Problems_Low'></a> <h2>Problems with Data Types, Low Severity <span class='warning'> 2 </span></h2><hr/> <span class='h_name'>gmain.c</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_7')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> _GMainContext <span class='warning'> 1 </span></span> <br/> <div id="c_7" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>flags</b> has been added to this type.</td> <td>This field will not be initialized or used by old client applications.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_8')"> [+] affected symbols: 81 (4.5%)</span> <div id="c_8" style="display:none;"> <div class='affected'><span class='iname_a'>g_child_watch_funcs <span class='attr'>[data]</span></span><br/> <div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_child_watch_source_new <span class='sym_p'><span>( GPid <i>pid</i></span> )</span></span><br/> <div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_idle_funcs <span class='attr'>[data]</span></span><br/> <div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_idle_source_new <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_io_create_watch <span class='sym_p'><span>( GIOChannel* <i>channel</i></span>, <span>enum GIOCondition <i>condition</i></span> )</span></span><br/> <div class='affect'>Field 'retval.context' in the return value (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_io_watch_funcs <span class='attr'>[data]</span></span><br/> <div class='affect'>Field 'retval.check.p0.context' in the return value has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_main_context_acquire <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span> )</span></span><br/> <div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_main_context_add_poll <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span>, <span>GPollFD* <i>fd</i></span>, <span>gint <i>priority</i></span> )</span></span><br/> <div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_main_context_check <span class='sym_p'><span>( GMainContext* <span class='fp'>context</span></span>, <span>gint <i>max_priority</i></span>, <span>GPollFD* <i>fds</i></span>, <span>gint <i>n_fds</i></span> )</span></span><br/> <div class='affect'>1st parameter 'context' (pointer) has base type 'struct _GMainContext'.</div> <span class='iname_a'>g_main_context_default <span class='sym_p'>( )</span></span><br/> <div class='affect'>Return value (pointer) has base type 'struct _GMainContext'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <br/> <span class='h_name'>gsequence.c</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_9')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> _GSequenceNode <span class='warning'> 1 </span></span> <br/> <div id="c_9" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>priority</b> has been added to this type.</td> <td>This field will not be initialized or used by old client applications.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_10')"> [+] affected symbols: 38 (2.1%)</span> <div id="c_10" style="display:none;"> <div class='affected'><span class='iname_a'>g_sequence_append <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>gpointer <i>data</i></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_foreach <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>GFunc <i>func</i></span>, <span>gpointer <i>user_data</i></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_foreach_range <span class='sym_p'><span>( GSequenceIter* <span class='fp'>begin</span></span>, <span>GSequenceIter* <i>end</i></span>, <span>GFunc <i>func</i></span>, <span>gpointer <i>user_data</i></span> )</span></span><br/> <div class='affect'>Field 'begin.left' in 1st parameter 'begin' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_free <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get <span class='sym_p'><span>( GSequenceIter* <span class='fp'>iter</span></span> )</span></span><br/> <div class='affect'>Field 'iter.left' in 1st parameter 'iter' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get_begin_iter <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get_end_iter <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get_iter_at_pos <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span>, <span>gint <i>pos</i></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_get_length <span class='sym_p'><span>( GSequence* <span class='fp'>seq</span></span> )</span></span><br/> <div class='affect'>Field 'seq.end_node' in 1st parameter 'seq' (pointer) has base type 'struct _GSequenceNode'.</div> <span class='iname_a'>g_sequence_insert_before <span class='sym_p'><span>( GSequenceIter* <span class='fp'>iter</span></span>, <span>gpointer <i>data</i></span> )</span></span><br/> <div class='affect'>Field 'iter.left' in 1st parameter 'iter' (pointer) has base type 'struct _GSequenceNode'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Other_Source_Changes'></a><a name='Other_Source_Changes_In_Types'></a> <h2>Other Changes in Data Types <span class='passed'> 6 </span></h2><hr/> <span class='h_name'>gunicode.h</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_11')"> <span class='ext'>[+]</span> <span class='ttype'>enum</span> GUnicodeScript <span class='passed'> 6 </span></span> <br/> <div id="c_11" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>The member <b>G_UNICODE_SCRIPT_CYPRO_MINOAN</b> with value <b>157</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>2</th> <td>The member <b>G_UNICODE_SCRIPT_MATH</b> with value <b>162</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>3</th> <td>The member <b>G_UNICODE_SCRIPT_OLD_UYGHUR</b> with value <b>158</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>4</th> <td>The member <b>G_UNICODE_SCRIPT_TANGSA</b> with value <b>159</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>5</th> <td>The member <b>G_UNICODE_SCRIPT_TOTO</b> with value <b>160</b> has been added.</td> <td>No effect.</td> </tr> <tr> <th>6</th> <td>The member <b>G_UNICODE_SCRIPT_VITHKUQI</b> with value <b>161</b> has been added.</td> <td>No effect.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_12')"> [+] affected symbols: 3 (0.2%)</span> <div id="c_12" style="display:none;"> <div class='affected'><span class='iname_a'>g_unichar_get_script <span class='sym_p'><span>( gunichar <i>ch</i></span> )</span></span><br/> <div class='affect'>Return value is of type 'enum GUnicodeScript'.</div> <span class='iname_a'>g_unicode_script_from_iso15924 <span class='sym_p'><span>( guint32 <i>iso15924</i></span> )</span></span><br/> <div class='affect'>Return value is of type 'enum GUnicodeScript'.</div> <span class='iname_a'>g_unicode_script_to_iso15924 <span class='sym_p'><span>( enum GUnicodeScript <span class='fp'>script</span></span> )</span></span><br/> <div class='affect'>1st parameter 'script' is of type 'enum GUnicodeScript'.</div> </div> </div> <br/><br/></div> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Headers'></a><h2>Header Files <span class='gray'> 95 </span></h2><hr/> <div class='h_list'> <built-in><br/> dirent.h<br/> FILE.h<br/> gallocator.h<br/> garray.h<br/> gasyncqueue.h<br/> gbitlock.h<br/> gbookmarkfile.h<br/> gbytes.h<br/> gcache.h<br/> gcharset.h<br/> gchecksum.h<br/> gcompletion.h<br/> gconvert.h<br/> gdataset.h<br/> gdate.h<br/> gdatetime.h<br/> gdir.h<br/> genviron.h<br/> gerror.h<br/> gfileutils.h<br/> ggettext.h<br/> ghash.h<br/> ghmac.h<br/> ghook.h<br/> ghostutils.h<br/> giochannel.h<br/> gkeyfile.h<br/> glib-init.h<br/> glib-private.h<br/> glib-unix.h<br/> glibconfig.h<br/> glibintl.h<br/> glist.h<br/> gmain.h<br/> gmappedfile.h<br/> gmarkup.h<br/> gmem.h<br/> gmessages.h<br/> gnode.h<br/> goption.h<br/> gpattern.h<br/> gpoll.h<br/> gprintf.h<br/> gquark.h<br/> gqueue.h<br/> grand.h<br/> grcbox.h<br/> grefcount.h<br/> gregex.h<br/> grel.h<br/> gscanner.h<br/> gsequence.h<br/> gshell.h<br/> gslice.h<br/> gslist.h<br/> gspawn.h<br/> gstdio.h<br/> gstrfuncs.h<br/> gstring.h<br/> gstringchunk.h<br/> gstrvbuilder.h<br/> gtestutils.h<br/> gthread.h<br/> gthreadpool.h<br/> gtimer.h<br/> gtimezone.h<br/> gtrashstack.h<br/> gtree.h<br/> gtypes.h<br/> gunicode.h<br/> guri.h<br/> gutils.h<br/> gutilsprivate.h<br/> gvariant-serialiser.h<br/> gvariant.h<br/> gvarianttype.h<br/> gvarianttypeinfo.h<br/> gversion.h<br/> gwakeup.h<br/> pcre.h<br/> pthreadtypes.h<br/> pwd.h<br/> stdarg.h<br/> stddef.h<br/> struct_FILE.h<br/> struct_mutex.h<br/> struct_stat.h<br/> struct_timespec.h<br/> struct_tm.h<br/> thread-shared-types.h<br/> time_t.h<br/> types.h<br/> unistd.h<br/> utime.h<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <a name='Sources'></a><h2>Source Files <span class='gray'> 91 </span></h2><hr/> <div class='h_list'> gallocator.c<br/> garcbox.c<br/> garray.c<br/> gasyncqueue.c<br/> gatomic.c<br/> gbacktrace.c<br/> gbase64.c<br/> gbitlock.c<br/> gbookmarkfile.c<br/> gbytes.c<br/> gcache.c<br/> gcharset.c<br/> gchecksum.c<br/> gcompletion.c<br/> gconvert.c<br/> gdataset.c<br/> gdate.c<br/> gdatetime.c<br/> gdir.c<br/> genviron.c<br/> gerror.c<br/> gfileutils.c<br/> ggettext.c<br/> ghash.c<br/> ghmac.c<br/> ghook.c<br/> ghostutils.c<br/> giochannel.c<br/> giounix.c<br/> gkeyfile.c<br/> glib-init.c<br/> glib-private.c<br/> glib-unix.c<br/> glist.c<br/> gmain.c<br/> gmappedfile.c<br/> gmarkup.c<br/> gmem.c<br/> gmessages.c<br/> gnode.c<br/> goption.c<br/> gpattern.c<br/> gpoll.c<br/> gprimes.c<br/> gprintf.c<br/> gqsort.c<br/> gquark.c<br/> gqueue.c<br/> grand.c<br/> grcbox.c<br/> grefcount.c<br/> grefstring.c<br/> gregex.c<br/> grel.c<br/> gscanner.c<br/> gsequence.c<br/> gshell.c<br/> gslice.c<br/> gslist.c<br/> gspawn.c<br/> gstdio.c<br/> gstrfuncs.c<br/> gstring.c<br/> gstringchunk.c<br/> gstrvbuilder.c<br/> gtestutils.c<br/> gthread-deprecated.c<br/> gthread-posix.c<br/> gthread.c<br/> gthreadpool.c<br/> gtimer.c<br/> gtimezone.c<br/> gtranslit.c<br/> gtrashstack.c<br/> gtree.c<br/> gunibreak.c<br/> gunicollate.c<br/> gunidecomp.c<br/> guniprop.c<br/> guri.c<br/> gutf8.c<br/> gutils.c<br/> guuid.c<br/> gvariant-core.c<br/> gvariant-parser.c<br/> gvariant-serialiser.c<br/> gvariant.c<br/> gvarianttype.c<br/> gvarianttypeinfo.c<br/> gversion.c<br/> gwakeup.c<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> <div class='lib_list'> libglib-2.0.so.0.7000.4-2.70.4-1.x86_64<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <br/><br/><br/></div><hr/> <div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/abi-compliance-checker'>ABI Compliance Checker</a> 2.3  </i> </div> <br/> </body></html>
View Attachment As Raw
Actions:
View
Attachments on
bug 12469
:
5717
|
5718
|
5719
|
5720
| 5721 |
5725
|
5726
|
5727
|
5763
|
5764
|
5765