blob: ad2fc27978d3a2f6b7b46b4bbd3a484dbccefc68 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<title>ABI Compliance Checker Options</title>
<meta charset="UTF-8" />
<meta name="generator" content="MediaWiki 1.18.1" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch_desc.php" title="ISP_RAS (en)" />
<link rel="EditURI" type="application/rsd+xml" href="http://ispras.linuxbase.org/api.php?action=rsd" />
<link rel="alternate" type="application/atom+xml" title="ISP_RAS Atom feed" href="/index.php?title=Special:RecentChanges&amp;feed=atom" />
<link rel="stylesheet" href="/load.php?debug=false&amp;lang=en&amp;modules=mediawiki.legacy.commonPrint%2Cshared%7Cskins.monobook&amp;only=styles&amp;skin=monobook&amp;*" />
<!--[if lt IE 5.5000]><link rel="stylesheet" href="/skins/monobook/IE50Fixes.css?303" media="screen" /><![endif]-->
<!--[if IE 5.5000]><link rel="stylesheet" href="/skins/monobook/IE55Fixes.css?303" media="screen" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" href="/skins/monobook/IE60Fixes.css?303" media="screen" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="/skins/monobook/IE70Fixes.css?303" media="screen" /><![endif]--><meta name="ResourceLoaderDynamicStyles" content="" />
<link rel="stylesheet" href="/load.php?debug=false&amp;lang=en&amp;modules=site&amp;only=styles&amp;skin=monobook&amp;*" />
<style>a:lang(ar),a:lang(ckb),a:lang(fa),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}a.new,#quickbar a.new{color:#ba0000}
/* cache key: rasispdb:resourceloader:filter:minify-css:4:c88e2bcd56513749bec09a7e29cb3ffa */
</style>
<script src="/load.php?debug=false&amp;lang=en&amp;modules=startup&amp;only=scripts&amp;skin=monobook&amp;*"></script>
<script>if(window.mw){
mw.config.set({"wgCanonicalNamespace": "", "wgCanonicalSpecialPageName": false, "wgNamespaceNumber": 0, "wgPageName": "ABI_compliance_checker_Options", "wgTitle": "ABI Compliance Checker Options", "wgCurRevisionId": 7702, "wgArticleId": 2442, "wgIsArticle": true, "wgAction": "view", "wgUserName": null, "wgUserGroups": ["*"], "wgCategories": ["ABI Compliance Checker"], "wgBreakFrames": false, "wgRestrictionEdit": [], "wgRestrictionMove": []});
}
</script><script>if(window.mw){
mw.loader.load(["mediawiki.page.startup"]);
}
</script>
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-ABI_compliance_checker_Options action-view skin-monobook">
<div id="globalWrapper">
<div id="column-content"><div id="content">
<a id="top"></a>
<h1 id="firstHeading" class="firstHeading">ABI Compliance Checker Options</h1>
<div id="bodyContent">
<div id="siteSub"></div>
<div id="contentSub"></div>
<!-- start content -->
<div lang="en" dir="ltr" class="mw-content-ltr"><table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#Information_Options"><span class="tocnumber">1</span> <span class="toctext">Information Options</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#General_Options"><span class="tocnumber">2</span> <span class="toctext">General Options</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#Extra_Options"><span class="tocnumber">3</span> <span class="toctext">Extra Options</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#Other_Options"><span class="tocnumber">4</span> <span class="toctext">Other Options</span></a></li>
</ul>
</td></tr></table>
<h2> <span class="mw-headline" id="Information_Options"> Information Options </span></h2>
<ul><li><b>-h|-help</b>
</li></ul>
<div style="padding-left:40px;">Print help message.</div><br />
<ul><li><b>-i|-info</b>
</li></ul>
<div style="padding-left:40px;">Print complete info.</div><br />
<ul><li><b>-v|-version</b>
</li></ul>
<div style="padding-left:40px;">Print version information.</div><br />
<ul><li><b>-dumpversion</b>
</li></ul>
<div style="padding-left:40px;">Print the tool version and don't do anything else.</div><br />
<h2> <span class="mw-headline" id="General_Options"> General Options </span></h2>
<ul><li><b>-l|-lib|-library &lt;name&gt;</b>
</li></ul>
<div style="padding-left:40px;">Library name (without version). It affects only on the path and the title of the report.</div><br />
<ul><li><b>-d1|-old|-o &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Path to the <a href="http://ispras.linuxfoundation.org/index.php/Library_Descriptor" title="Library Descriptor">descriptor</a> of 1st (old) library version.</div><br />
<ul><li><b>-d2|-new|-n &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Path to the <a href="http://ispras.linuxfoundation.org/index.php/Library_Descriptor" title="Library Descriptor">descriptor</a> of 2nd (new) library version.</div><br />
<ul><li><b>-dump|-dump-abi &lt;descriptor.xml&gt;</b>
</li></ul>
<div style="padding-left:40px;">Dump library ABI to gzipped TXT format file. You can transfer it anywhere and pass instead of the XML-descriptor. Also it may be used for debugging the tool.</div><br />
<ul><li><b>-old-dumps</b>
</li></ul>
<div style="padding-left:40px;">Enable support for old-version ABI dumps.</div><br />
<h2> <span class="mw-headline" id="Extra_Options"> Extra Options </span></h2>
<ul><li><b>-d|-descriptor-template</b>
</li></ul>
<div style="padding-left:40px;">Create XML-descriptor template ./VERSION.xml</div><br />
<ul><li><b>-app|-application &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">This option allow to specify the application that should be tested for portability to the new library version.</div><br />
<ul><li><b>-static-libs</b>
</li></ul>
<div style="padding-left:40px;">Check static libraries instead of the shared ones. The &lt;libs&gt; section of the XML-descriptor should point to static libraries location.</div><br />
<ul><li><b>-cross-gcc &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Path to the cross GCC compiler to use instead of the usual (host) GCC.</div><br />
<ul><li><b>-cross-prefix &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">GCC toolchain prefix.</div><br />
<ul><li><b>-sysroot &lt;dirpath&gt;</b>
</li></ul>
<div style="padding-left:40px;">Specify the alternative root directory. The tool will search for include paths in the &lt;dirpath&gt;/usr/include and &lt;dirpath&gt;/usr/lib directories.</div><br />
<ul><li><b>-v1|-version1 &lt;num&gt;</b>
</li></ul>
<div style="padding-left:40px;">Specify 1st library version outside the descriptor.</div><br />
<ul><li><b>-v2|-version2 &lt;num&gt;</b>
</li></ul>
<div style="padding-left:40px;">Specify 2nd library version outside the descriptor.</div><br />
<ul><li><b>-s|-strict</b>
</li></ul>
<div style="padding-left:40px;">Treat all compatibility warnings as problems.</div><br />
<ul><li><b>-headers-only</b>
</li></ul>
<div style="padding-left:40px;">Check header files without shared libraries. It is easy to run, but may provide provide a low quality compatibility report with false positives and without detecting of added/removed symbols.</div><br />
<ul><li><b>-objects-only</b>
</li></ul>
<div style="padding-left:40px;">Check shared libraries without header files. It is easy to run, but may a low quality report with false positives and without analysis of changes in parameters and data types.</div><br />
<ul><li><b>-check-impl|-check-implementation</b>
</li></ul>
<div style="padding-left:40px;">Compare canonified disassembled binary code of shared objects to detect changes in the implementation. Create section 'Changes in Implementation' in the report.</div><br />
<ul><li><b>-show-retval</b>
</li></ul>
<div style="padding-left:40px;">Show the symbol's return type in the report.</div><br />
<ul><li><b>-symbols-list &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">This option allow to specify a file with a list of interfaces (mangled names in C++) that should be checked, other library interfaces will not be checked.</div><br />
<ul><li><b>-use-dumps</b>
</li></ul>
<div style="padding-left:40px;">Make dumps for two versions of a library and compare dumps. This should increase the performance of the tool and decrease the operative memory usage.</div><br />
<ul><li><b>-nostdinc</b>
</li></ul>
<div style="padding-left:40px;">Do not search the GCC standard system directories for header files.</div><br />
<ul><li><b>-dump-system &lt;name&gt;</b>
</li></ul>
<div style="padding-left:40px;">Find all the shared libraries and header files in &lt;dirpath&gt; directory, create XML descriptors and make ABI dumps for each library. The result set of ABI dumps can be compared (--cmp-systems) with the other one created for other version of operating system in order to check them for compatibility. Do not forget to specify -cross-gcc option if your target system requires some specific version of GCC compiler (different from the host GCC). The system ABI dump will be generated to: sys_dumps/&lt;name&gt;/&lt;arch&gt;.</div><br />
<ul><li><b>-dump-system &lt;descriptor.xml&gt;</b>
</li></ul>
<div style="padding-left:40px;">The same as the previous option but takes an <a href="http://ispras.linuxfoundation.org/index.php/Operating_System_Descriptor" title="Operating System Descriptor">XML descriptor</a> of the target system.</div><br />
<ul><li><b>-sysinfo &lt;dir&gt;</b>
</li></ul>
<div style="padding-left:40px;">This option may be used with -dump-system to dump ABI of operating systems and configure the dumping process. Default: modules/SysInfo/&lt;target&gt; {unix, symbian, windows}</div><br />
<ul><li><b>-cmp-systems</b>
</li></ul>
<div style="padding-left:40px;">Compare two system ABI dumps. Create compatibility reports for each library and the common HTML report including the summary of test results for all checked libraries. Report will be generated to: sys_compat_reports/&lt;name1&gt;_to_&lt;name2&gt;/&lt;arch&gt;.</div><br />
<ul><li><b>-libs-list &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">The file with a list of libraries, that should be dumped by the -dump-system option or should be checked by the -cmp-systems option.</div><br />
<ul><li><b>-header &lt;name&gt;</b>
</li></ul>
<div style="padding-left:40px;">Check/Dump ABI of this header only.</div><br />
<ul><li><b>-headers-list &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">The file with a list of headers, that should be checked/dumped.</div><br />
<ul><li><b>-ext|-extended</b>
</li></ul>
<div style="padding-left:40px;">If your library A is supposed to be used by other library B and you want to control the ABI of B, then you should enable this option. The tool will check for changes in all data types, even if they are not used by any function in the library A. Such data types are not part of the A library ABI, but may be a part of the ABI of the B library.</div><br />
<ul><li><b>-q|-quiet</b>
</li></ul>
<div style="padding-left:40px;">Print all messages to the file instead of stdout and stderr.</div><br />
<ul><li><b>-stdout</b>
</li></ul>
<div style="padding-left:40px;">Print analysis results (compatibility reports and ABI dumps) to stdout instead of creating a file. This would allow piping data to other programs.</div><br />
<ul><li><b>-report-format &lt;fmt&gt;</b>
</li></ul>
<div style="padding-left:40px;">Change format of compatibility report (htm, xml).</div><br />
<ul><li><b>-xml</b>
</li></ul>
<div style="padding-left:40px;">Alias for: --report-format=xml</div><br />
<ul><li><b>-lang &lt;lang&gt;</b>
</li></ul>
<div style="padding-left:40px;">Set library language (C or C++). You can use this option if the tool cannot auto-detect a language. This option may be useful for checking C-library headers (--lang=C) in --headers-only or --extended modes.</div><br />
<ul><li><b>-binary|-bin|-abi</b>
</li></ul>
<div style="padding-left:40px;">Show binary-compatibility problems only. Generate report to: compat_reports/&lt;library name&gt;/&lt;v1&gt;_to_&lt;v2&gt;/abi_compat_report.html</div><br />
<ul><li><b>-source|-src|-api</b>
</li></ul>
<div style="padding-left:40px;">Show source-compatibility problems only. Generate report to: compat_reports/&lt;library name&gt;/&lt;v1&gt;_to_&lt;v2&gt;/src_compat_report.html</div><br />
<h2> <span class="mw-headline" id="Other_Options"> Other Options </span></h2>
<ul><li><b>-test</b>
</li></ul>
<div style="padding-left:40px;">Run internal tests. Create two binary incompatible versions of a sample library and run the tool to check them for compatibility. This option allows to check if the tool works correctly in the current environment.</div><br />
<ul><li><b>-test-dump</b>
</li></ul>
<div style="padding-left:40px;">Test ability to create, restore and compare ABI dumps.</div><br />
<ul><li><b>-debug</b>
</li></ul>
<div style="padding-left:40px;">Debugging mode. Print debug info on the screen. Save intermediate analysis stages in the debug directory: debug/&lt;library&gt;/&lt;version&gt;/.</div><br />
<ul><li><b>-cpp-compatible</b>
</li></ul>
<div style="padding-left:40px;">If your header file is written in C language and can be compiled by the C++ compiler (i.e. doesn't contain C++-keywords), then you can tell ACC about this and speedup the analysis.</div><br />
<ul><li><b>-p|-params &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Path to file with the function parameter names. It can be used for improving report view if the library header files don't contain parameter names. File format:</div><br />
<div style="padding-left:70px;">func1;param1;param2;param3 ...<br />
<p>func2;param1;param2;param3 ...<br />
</p>
&#160;&#160;...</div><br />
<ul><li><b>-relpath &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Replace {RELPATH} macros to &lt;path&gt; in the XML-descriptor used for dumping the library ABI (see -dump option).</div><br />
<ul><li><b>-relpath1 &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Replace {RELPATH} macros to &lt;path&gt; in the 1st XML-descriptor (see -d1 option).</div><br />
<ul><li><b>-relpath2 &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Replace {RELPATH} macros to &lt;path&gt; in the 2nd XML-descriptor (see -d2 option).</div><br />
<ul><li><b>-dump-path &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Specify the path to a file (*.abi.tar.gz) where to generate the ABI dump. Default dump path: abi_dumps/&lt;library&gt;/&lt;library&gt;_&lt;version&gt;.abi.tar.gz</div><br />
<ul><li><b>-report-path &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Specify the file path where to generate the compatibility report. Default report path: compat_reports/&lt;library name&gt;/&lt;v1&gt;_to_&lt;v2&gt;/abi_compat_report.html</div><br />
<ul><li><b>-bin-report-path &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Path to binary-compatibility report. Default: compat_reports/&lt;library name&gt;/&lt;v1&gt;_to_&lt;v2&gt;/abi_compat_report.html</div><br />
<ul><li><b>-src-report-path &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Path to source-compatibility report. Default: compat_reports/&lt;library name&gt;/&lt;v1&gt;_to_&lt;v2&gt;/src_compat_report.html</div><br />
<ul><li><b>-log-path &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Log path for all messages. Default log path: logs/&lt;library&gt;/&lt;version&gt;/log.txt</div><br />
<ul><li><b>-log1-path &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Log path for 1st version of a library. Default log path: logs/&lt;library name&gt;/&lt;v1&gt;/log.txt</div><br />
<ul><li><b>-log2-path &lt;path&gt;</b>
</li></ul>
<div style="padding-left:40px;">Log path for 2nd version of a library. Default log path: logs/&lt;library name&gt;/&lt;v1&gt;/log.txt</div><br />
<ul><li><b>-logging-mode &lt;mode&gt;</b>
</li></ul>
<div style="padding-left:40px;">Change logging mode. Modes: w - overwrite old logs (default), a - append old logs, n - do not write any logs</div><br />
<ul><li><b>-list-affected</b>
</li></ul>
<div style="padding-left:40px;">Generate file with the list of incompatible symbols beside the HTML compatibility report. Use 'c++filt @file' command from GNU Binutils to unmangle C++ symbols in the generated file. Default name: abi_affected.txt</div><br />
<ul><li><b>-component &lt;name&gt;</b>
</li></ul>
<div style="padding-left:40px;">The component name in the title and summary of the HTML report. Default: library</div><br />
<ul><li><b>-l-full|-lib-full &lt;name&gt;</b>
</li></ul>
<div style="padding-left:40px;">Change library name in the report title to &lt;name&gt;. By default will be displayed a name specified by -l option.</div><br />
<ul><li><b>-b|-browse &lt;program&gt;</b>
</li></ul>
<div style="padding-left:40px;">Open report(s) in the browser (firefox, opera, etc.).</div><br />
<!--
NewPP limit report
Preprocessor node count: 75/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
-->
<!-- Saved in parser cache with key rasispdb:pcache:idhash:2442-0!*!0!!en!*!* and timestamp 20120326010342 -->
</div></div></div></div></div></body></html>