2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
5 <meta name="description" content=" Built Hybrid OS for GD and performed binary comparison Adding files to CVS on Tomcat Completed GD LOS178 Impact Summary Resolved long standing issue regarding gnuaout vs. gnu...">
6 <meta name="generator" content="Movable Type 5.2.3">
7 <title>HybridOS built - Status</title>
8 <link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://defaria.com/blogs/Status/atom.xml">
9 <link rel="canonical" href="http://defaria.com/blogs/Status/2005/03/hybridos-built.html">
10 <meta name="viewport" content="width=device-width,initial-scale=1">
11 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles.css">
13 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles_ie.css">
14 <script src="/mt/mt-static/support/theme_static/rainier/js/html5shiv.js"></script>
17 <link rel="start" href="http://defaria.com/blogs/Status/">
19 <link rel="prev" href="http://defaria.com/blogs/Status/2005/03/los178-compares.html" title="LOS178 compares">
20 <link rel="next" href="http://defaria.com/blogs/Status/2005/03/hybrid-os.html" title="Hybrid OS">
21 <!-- Open Graph Protocol -->
22 <meta property="og:type" content="article">
23 <meta property="og:locale" content="en-us">
24 <meta property="og:title" content="HybridOS built">
25 <meta property="og:url" content="http://defaria.com/blogs/Status/2005/03/hybridos-built.html">
26 <meta property="og:description" content=" Built Hybrid OS for GD and performed binary comparison Adding files to CVS on Tomcat Completed GD LOS178 Impact Summary Resolved long standing issue regarding gnuaout vs. gnu...">
27 <meta property="og:site_name" content="Status">
28 <meta property="og:image" content="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
30 <meta itemprop="description" content=" Built Hybrid OS for GD and performed binary comparison Adding files to CVS on Tomcat Completed GD LOS178 Impact Summary Resolved long standing issue regarding gnuaout vs. gnu...">
31 <link itemprop="url" href="http://defaria.com/blogs/Status/2005/03/hybridos-built.html">
32 <link itemprop="image" href="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
37 <div id="container-inner">
38 <header id="header" role="banner">
39 <div id="header-inner">
40 <div id="header-content">
42 <a href="http://defaria.com/blogs/Status/">
51 <nav role="navigation">
53 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
62 <div id="content-inner">
63 <ul class="breadcrumb breadcrumb-list">
64 <li class="breadcrumb-list-item"><a href="http://defaria.com/blogs/Status/">Home</a></li>
65 <li class="breadcrumb-list-item">HybridOS built</li>
67 <div id="individual-main" class="main" role="main">
68 <article id="entry-1597" class="entry entry-asset asset hentry">
69 <div class="asset-header">
70 <h2 itemprop="name" class="asset-name entry-title">HybridOS built</h2>
71 <footer class="asset-meta">
72 <ul class="asset-meta-list">
73 <li class="asset-meta-list-item">Posted on <time datetime="2005-03-28T18:30:00-08:00" itemprop="datePublished">March 28, 2005</time></li>
74 <li class="asset-meta-list-item">by <span class="author entry-author vcard"></span></li>
77 <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks</a></li>
83 <div class="entry-content asset-content" itemprop="articleBody">
85 <li>Built Hybrid OS for GD and performed binary comparison</li>
87 <li>Adding files to CVS on Tomcat</li>
89 <li>Completed GD LOS178 Impact Summary</li>
91 <li>Resolved long standing issue regarding gnuaout vs. gnu</li>
93 <h2>GD LOS178 Impact Summary</h2>
95 <h3>Export sources from LOS178</h3>
97 <p>Export sources from LOS178 CVS tree using the CVS tag REL_LOS178_2p0p0_ppc_FCS. The export will come from the machine named Rock using CVSROOT=:pserver:anoncvs@rock:/cvs/los178-cvs:</p>
99 <div class="code"><pre>
100 tomcat:export CVSROOT=:pserver:anoncvs@rock:/cvs/los178-cvs
102 Logging in to :pserver:anoncvs@rock:2401/cvs/los178-cvs
104 tomcat:cvs export -r REL_LOS178_2p0p0_ppc_FCS los178
107 <h3>Extract prebuilt CDK</h3>
109 <p>Extract prebuilt CDK (sunos-xcoff-ppc) binary also using the tag of REL_LOS178_2p0p0_ppc_FCS from Rock. Note that this prebuilt CDK comes from the bin-image section of the CVS repository and that we are only using the ppc.cdksol.tar.gz image:</p>
111 <div class="code"><pre>
112 tomcat:cvs export -r REL_LOS178_2p0p0_ppc_FCS bin-image/ppc.cdksol.tar.gz
115 <h3>Extract other tools</h3>
117 <p>The package.sh script from the toolbox area is used to package up the images so we need to extract that too:</p>
119 <div class="code"><pre>
120 tomcat:cvs export -r REL_LOS178_2p0p0_ppc_FCS toolbox/package.sh
125 <p>Perform test build.</p>
128 Note: Test build requires a symlink from /usr/lynx/3.1.0/ppc/cdk/sunos-xcoff-ppc/bin/bison.simple -> $ENV_PREFIX/cdk/sunos-xcoff-ppc-/bin/bison-simple due to a hard coded path dependency. This path was not modified due to LOS-178 RSC restrictions
131 <p>Steps performed are:</p>
134 <li>Create ppc_dev area to perform the build in:<br>
136 <div class="code"><pre>
140 <li>Copy in sources:<br>
142 <div class="code"><pre>
143 tomcat:rsync -a los178 ppc_dev
146 <li>Unpack CDK into build area<br>
148 <div class="code"><pre>
150 tomcat:gnutar -zxpf ../bin-image/ppc.cdksol.tar.gz
153 <li>Perform build:<br>
155 <div class="code"><pre>
156 tomcat:make DEVELOPMENT=yes install > install.log
159 <li>Check install.log for errors</li>
162 <h3>Perform binary comparison test</h3>
164 <p>This binary comparison test is different from the normal binary comparison tests. Basically we are simply extracting all .o's from all .a's in the packaged versions of the product. A little utility script was written to find all .a libraries and copy them to an area (complibs) broken out by the path to the library, then extract all .o's from the .a's. This script is called unpack_libs. It is not intended that such a comparison be performed on a regular basis so this script is more of a one shot script.</p>
166 <p>Further, a build will create a lot of libraries but not all libraries created will be packaged and shipped. Since we are comparing against a previously built and packaged release we must package up and unpack the build we just performed. This is done using the toolbox/package.sh script as follows:</p>
169 <li>Package up the image just built:<br>
171 <div class="code"><pre>
172 tomcat:toolbox/package.sh ppc_dev dev
175 <li>Unpack images to new area:<br>
177 <div class="code"><pre>
180 tomcat:for tarfile in ../media/*.tar.gz; do
181 > gnutar -zxpf $tarfile
185 <li>Gather all libraries and extract their .o's:<br>
187 <div class="code"><pre>
188 tomcat:mkdir complibs
189 tomcat:../unpack_libs
192 <li>Unpack old images (from t3:/export/scl/los178/2p0p0/FCS/) to old area:<br>
194 <div class="code"><pre>
198 tomcat:# copy old tar images here
199 tomcat:for tarfile in *.tar.gz; do
200 > gnutar -zxpf $tarfile
204 <li>Gather all libraries and extract their .o's:<br>
206 <div class="code"><pre>
207 tomcat:mkdir complibs
208 tomcat:../unpack_libs
213 <div class="code"><pre>
215 tomcat:diff -r old/complibs new/complibs
218 <li>The above will result in 25 .o files being different. Use objdump -D to disassemble these files and compare the disassembled output. No differences detected in disassembled output.</li>
221 <h3>Import sources into new CVS repository</h3>
223 <p>Sources will be imported into the CVS repository using the following command:</p>
225 <div class="code"><pre>
227 tomcat:export CVSROOT=:pserver:adefaria@tomcat:/cvs/hybrid-os-cvs
229 Logging in to :pserver:adefaria@tomcat:2401/cvs/hybrid-os-cvs
231 tomcat:# First add all directories
232 tomcat:find . ! -name CVS -type d -exec cvs add -m "HybridOS import from LOS178" {} \;
233 tomcat:# Now add all files
234 tomcat:find . -type f -exec cvs add -m "HybridOS import from LOS178" {} \;
238 <p>Additionally the binary CDK image was checked into binary-image:</p>
240 <div class="code"><pre>
241 tomcat:cd ../bin-image
242 tomcat:cvs add -m "HybridOS import from LOS178" ppc.cdksol.tar.gz
246 <p>Finally the toolbox/package.sh script as checked into toolbox:</p>
248 <div class="code"><pre>
250 tomcat:cvs add -m "HybridOS import from LOS178" package.sh
254 <h3>Tag initial sources with the tag REL_HYBRIDOS_1p0_ppc_20050328</h3>
256 <p>All sources, bin packages and toolbox scripts are then tagged:</p>
258 <div class="code"><pre>
259 tomcat:cvs tag REL_HYBRIDOS_1p0_ppc_20050328 los178 bin-image toolbox
262 <h3>Check out all sources and prebuilt CDK and perform build procedure again</h3>
264 <p>Next we check out all sources, bin-image and toolbox scripts into new fresh areas and then perform the build procedure as described above.</p>
266 <h3>Following successful build perform binary comparison test again</h3>
268 <p>Perform the binary comparison described above again.</p>
270 <h3>Package build to archive area</h3>
272 <p>Use the package script to package up the images and place in the archive area at tomcat:/export/dev_archive/hybridos/1p0/20050328/solaris/media/ppc</p>
274 <h2>Long standing issue regarding gnuaout vs. gnu</h2>
276 <p>This has been bugging me for a while and I finally tracked it down. Often I'd build a toolchain then attempt to build LynxOS and it would fail when attempting to get the compiler. It seems that the toolchain build was packing up the compiler tar image with one name and the build scripts were using another name to try to find it. This resulted in errors. Now I had gotten around this via a symlink but I've been wanting to make the two build procedures agree on the names of things...</p>
278 <p>As Adam writes here the preferred name for the toolchain tar image is derived from config.guess:</p>
280 <blockquote type=cite>
281 <p>Andrew DeFaria writes:</p>
283 <blockquote type=cite>
284 <p>toolchain-i686-pc-linux-gnu-i386.tar.gz</p>
287 <p>This. But I think we get this from config.guess so try to see how this nice level of abstraction fails before you hard-code something.</p>
290 <p>The "toolchain-" portion is standard for the toolchain. The "i686-pc-linux-gnu" portion comes out of config.guess:</p>
292 <div class="code"><pre>
293 [int@dopey 20050207]$ /export/build1/LYNXOS_500/work_area/toolchain/3.2.2/toolchain/src/config.guess
297 <p>However the int_tools uses the following code to determine the name of the toolchain tar image:</p>
299 <div class="code"><pre>
300 proc Unload_com { platform dir comp_release format host } {
303 <font color="red"><b>"linux" { set host_platform "i686-pc-linux-<u>gnuaout</u>" }</b></font>
304 "win32" { set host_platform "i686-pc-cygwin" }
305 "sunos" { set host_platform "sparc-sun-solaris2.7" }
306 "lynxos" { if { "$platform" == "x86" } {
307 set host_platform "i386-lynx-lynxos"
309 if { "$platform" == "ppc" } {
310 set host_platform "powerpc-lynx-lynxos"
314 if { "$platform" == "x86" } {
315 set target_platform "i386"
317 set target_platform "$platform"
319 set COMPILER_TAR_GZ "toolchain-$host_platform-$target_platform.tar.gz"
322 <p>The highlighted portion above is the line in error and the underlined portion should change to simply "gnu". The int_tools do not have the benefit of being able to call config.guess so this could likely break in the future again.</p>
324 <p>I will perform this change, along with other int_tool changes required for the new tag labeling under and ECR.</p>
326 <nav class="page-navigation entry-navigation pagination content-nav">
327 <ul class="page-navigation-list">
329 <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2005/03/los178-compares.html" title="LOS178 compares">Previous entry</a></li>
332 <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2005/03/hybrid-os.html" title="Hybrid OS">Next entry</a></li>
337 <aside id="zenback" class="zenback feedback">
338 Please paste Zenback script code here.
345 <aside class="widgets related" role="complementary">
346 <nav class="widget-search widget">
347 <div class="widget-content">
348 <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
350 <input type="text" name="search" value="" placeholder="Search...">
352 <input type="hidden" name="IncludeBlogs" value="8">
354 <input type="hidden" name="limit" value="20">
355 <button type="submit" name="button">
356 <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
362 <nav class="widget-archive-category widget">
363 <h3 class="widget-header">Categories</h3>
364 <div class="widget-content">
367 <ul class="widget-list">
370 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
378 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
386 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
394 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
402 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
410 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
418 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
426 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
434 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
442 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
450 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
458 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
470 <nav class="widget-archive-dropdown widget">
471 <h3 class="widget-header">Archives</h3>
472 <div class="widget-content">
474 <option>Select a Month...</option>
476 <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
480 <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
484 <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
488 <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
492 <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
496 <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
500 <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
504 <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
508 <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
512 <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
516 <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
520 <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
524 <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
528 <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
532 <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
536 <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
540 <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
544 <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
548 <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
552 <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
556 <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
560 <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
564 <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
568 <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
572 <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
576 <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
580 <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
584 <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
588 <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
592 <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
596 <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
600 <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
604 <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
608 <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
612 <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
616 <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
620 <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
624 <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
628 <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
632 <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
636 <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
640 <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
644 <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
648 <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
652 <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
656 <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
660 <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
664 <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
668 <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
672 <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
676 <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
680 <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
684 <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
688 <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
692 <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
696 <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
700 <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
704 <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
708 <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
712 <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
716 <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
720 <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
724 <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
728 <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
732 <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
736 <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
740 <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
744 <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
748 <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
752 <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
756 <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
760 <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
768 <div class="widget-syndication widget section">
769 <div class="widget-content">
770 <p><img src="http://defaria.com/mt/mt-static/images/status_icons/feed.gif" alt="Subscribe to feed" width="9" height="9" /> <a href="http://defaria.com/blogs/Status/atom.xml">Subscribe to this blog's feed</a></p>
778 <footer id="footer" role="contentinfo">
779 <div id="footer-inner">
780 <div id="footer-content">
781 <nav role="navigation">
783 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
789 <p class="license">© Copyright 2016.</p>
790 <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
796 <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
797 <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>