" /> Status for Andrew DeFaria: February 2005 Archives

« January 2005 | Main | March 2005 »

February 28, 2005

BC Step 3/PPC Toolchain/X86 Toolchain

  • Went through steps 1 & 2 again for BC
  • After 6 hours step 3 of BC finally finished!
  • Step 4 fails though
  • Experiencing network problems in lab and so the native X86 toolchain build on t-k1g-1 keeps dying.
  • Also having problems keeping connection to t-mcn765-n (???)

February 25, 2005

ECRD/cvs_reports/Bluecat

  • Seems I need to rebuild the local tools. This is an odd step and isn't working very well
  • Fixed ECRDig by limiting description fields to 50K
  • Fixed a bug or two WRT translating <> -> < and >'s
  • Announced ECRDig and cvs_report.pl

February 24, 2005

Bluecat Build/ECRDig failing

  • Bluecat build failed in step 3 again. Thu recommended that I start from scratch. Completed steps 1 and 2 but step 3 fails.
  • ECRDig keeps failing with what turns out to be ECRs with huge description fields. Apparently some ECRs have uuencoded tar.gz files!

February 23, 2005

Bluecat build

  • Repartitioning disks on Penguin to continue build

February 22, 2005

Bluecat Build/All ECRs

  • Attempting to rebuild Bluecat for steps 2 & 3. I was trying to pick up from step 4 where Thu was having problems but I had different problems.
  • Ran out of disk space in step 3. Had some copies of saved stuff that was occupying space so I removed them and tried again.
  • Still running out of space. Need to repartition drives.
  • Altered ecrd to return all ECR numbers when "*" is requested. Created All ECRs page to display them. Each ECR number is presented as a link to the ECR detail page. Although this page is not that useful to the human it will allow a web crawler/search engine to index all ECR descriptions and allow for full text search on ECR description. Now I just need to get a web crawler/indexer...

February 17, 2005

ECRC Improvement/Fix of cvs_report.pl bug and Toolchain builds!

  • Implemented a few more improvements to ecrd
  • Implemented the translations of enums from Quintus for fields like defstatus, severity, priority and state to strings
  • Improved CVS report web pages to include descriptions of the above enums
  • Fixed cvs_reports.pl. Had a bug where more than a single blank appeared between "ECR Number:" and the ECR number itself. Changed regexs to handle this situation
  • Managed to build toolchain for x86! Proceeding to native toolchain build

February 16, 2005

ECRC.php

  • Implemented ECRC.php which is the client library for ECRD written in PHP. PHP enables us to use this information easily in a web page.
  • Implemented ECR Info as a way to get information about an ECR in the form of a web page. Adam really likes it!
  • Changed CVS Reports web pages to obtain ECR summary description and make ECR numbers a link to ECR Info
  • Finished up ecrd, the deamon. Multithreading still has problems but I can address that later.
  • Worked on ecrc, the client command line tool that talks to ecrd.

February 15, 2005

ECRC and ECRD

  • Initial implementation of ecrc/ecrd, a client/server application to return information about ECRS
  • Started initial implmenetation of ecrc.php
  • Reported another problem with toolchain build

ECRC and ECRD

Taking code from cqd/cqc that I implemented over at Salira, I decided to adapt these to ECRs. The concept is essentially the same - you have data on a server in a database and wish to get to it either through a command line or a web page. At Salira I had Clearquest and it's backend database of SQL Anywhere. I was also limited to using cqperl which was based off of ActiveState Perl which has problems going into daemon mode and handling signals. Here I have an Informix SQL database and do not face the same limitation of ActiveState. Perl's DBI interface makes handling this database pretty easy. Of course the data fields are different and I took advantage of real Linux so as to make the daemon mode actually work well now. Multithreading remains a problem in that the child process hangs on the SQL prepare statement and if I try to reopen the database (not efficient) I get an error. Eventually I can work out these problems...

February 11, 2005

More int_tools changes

  • Implemented the -XX addition to product numbers

The solution was simple but it was also not ideal. The expect scripts currently merely fill a few arrays with numbers from ranges like 18000-18999, 19000-19999, etc. Then, later on they just grab a number from the array.

The idea of adding "-xx" to the end of the product numbers is to allow for different versions down the road. So one might have 18000-00.devos.tar.gz and 18001-00.other.package.tar.gz. Other times there might be 18000-00.devos.tar.gz and 18001-01.other.package.tar.gz. IOW different "-xx"'s in the product range. Unfortunately the way the expect scripts are coded this is not easy to do.

So for now we are just implementing this by adding -00 to the end. IOW all -xx's must be the same, for now...

February 09, 2005

ECR 23248 Toolchain build failure

  • Worked with Adam to retag the toolchain and rebuild. Build failed. Filed ECR 23248
  • Went on to get the int_tools to work after modifying them to take into account recent changes in tagging and build directory names

ECR 23248: Toolchain build fails due to problem in LynxOS header file:

In attempting to build top of the gcc_3_2_2-branch gdb fails to build with the following:

gcc -x c -P -E -dM -nostdinc -g -O2 -D__Lynx__ -I. /config -I/export/build1/LYNXOS_500/work_area/toolchain/3.2.2/toolchain/src/gdb -I/export/build1/LYNXOS_500/work_area/toolchain/3.2.2/toolchain/src/gdb -I/export/build1/LYNXOS_500/work_area/toolchain/3.2.2/toolchain/src/gdb -I/export/build1/LYNXOS_500/work_area/toolchain/3.2.2/toolchain/src/gdb-DHAVE_CONFIG_H /../include/opcode /../readline/.. -I../bfd /../bfd -I/export/build1/LYNXOS_500/work_area/toolchain/3.2.2/toolchain/src/gdb/../include -I../intl /../intl -DGDBTK -DCROSS_DEBUGGER -idirafter /export/build1/LYNXOS_500/build/lynxos/20050207/x86/sys/include/kernel /export/build1/LYNXOS_500/build/lynxos/20050207/x86/sys/include/family/-idirafter `echo i386-lynx-lynxos | sed -e 's/-.*//' -e 's/i.86/x86/' -e 's/powerpc/ppc/'` -idirafter /export/build1/LYNXOS_500/build/lynxos/20050207/x86/usr/include -I /export/build1/LYNXOS_500/build/lynxos/20050207/x86/usr/include -I /export/build1/LYNXOS_500/build/lynxos/20050207/x86/sys/include/kernel /export/build1/LYNXOS_500/build/lynxos/20050207/x86/sys/include/family/-I `echo i386-lynx-lynxos | sed -e 's/-.*//' -e 's/i.86/x86/' -e 's/powerpc/ppc/'` tm-lynx.th-rn || exit 2; \
echo; echo "#endif /* $guard */" ) > tm-lynx.ti
In file included from /export/build1/LYNXOS_500/build/lynxos/20050207/x86/usr/include/stdint.h:15,
from /export/build1/LYNXOS_500/build/lynxos/20050207/x86/sys/include/family/x86/arch_mem.h:15,
from /export/build1/LYNXOS_500/work_area/toolchain/3.2.2/toolchain/src/gdb/config/tm-lynx.th:6:
/export/build1/LYNXOS_500/build/lynxos/20050207/x86/usr/include/sys/cdefs.h:432:2: #error "Unsupported size of long double"
make[2]: *** [tm-lynx.ti] Error 1
rm tm-lynx.th-rn
make[2]: Leaving directory `/export/build1/LYNXOS_500/build/toolchain/3.2.2/20050207/build-i386/gdb'
make[1]: *** [all-gdb] Error 2
make[1]: Leaving directory `/export/build1/LYNXOS_500/build/toolchain/3.2.2/20050207/build-i386'
make: *** [stamp-all-i386] Error 2

February 08, 2005

CVS Tag Problems

Spent most of the day attempting to build the TOB Toolchain by first tagging it with DEV_LYNXOS_3P2P2_ALL_20050207. The tagging operation has some problems and I suspect not everything that needed to get tagged got tagged.

Have been hunting down and tagging things hopefully appropriately in order to get things to build but I'm still having some problems.

February 07, 2005

cvs_report.pl

Changed cvs_report.pl to:

  • Properly handle branches
  • Create/use a data file instead of writing out an HTML file.
  • Not create a data file is it has not changed since the last report

Changed http://saturn.lynx.com/cvsr to generate HTML from the above datafiles.

February 03, 2005

Finishing build note

  • Finished build note for 012405
  • Experimented more with VCG

February 02, 2005

cvs_report updates/common build

  • Changed cvs_report.pl to better handle branches
  • Build common for 012405

cvs_report.pl changes

The changes to cvs_report.pl involved changing ProcessECRs to look for the start and stop revision numbers in the log. The CVS log has entries like the following:

$ cvs log Makefile | grep ^revision
revision 1.9
revision 1.8
revision 1.7
revision 1.6
revision 1.5
revision 1.4
revision 1.3
revision 1.2
revision 1.1
revision 1.1.2.4
revision 1.1.2.3
revision 1.1.2.2
revision 1.1.2.1
revision 1.3.4.1
revision 1.3.2.2
revision 1.3.2.1

Thus if the from tag is pointing to revision 1.1.2.1 and the to_tag is pointing to revision 1.1.2.4 cvs_report.pl now skips all versions until 1.1.2.4 then picks up ECR numbers from there.

Building common

First check out the top of trunk of ats:

  1. cd <build_area>/LYNXOS_500/work_area/tst
  2. export CVSROOT=:pserver:int@t3.lynx.com:/cvs/tst-cvs
  3. cvs login (Enter the password)
  4. Check out the top of trunk of ats (cvs checkout ats)
  5. Set a tag for ats (e.g. Lion_common_<mmddyy>). sually we will tag the ATS as the same date as LynxOS build.
  6. Change directory to your build tree - int_tools area and modify the __profile.exp to set the correcty ATS tag that just tagged if it is not the same as lynxos build as defined.
  7. Modify the START for ATS process.
    steps_com=" 1 2    3";
    echo "=== Starting common ==="
    startit.exp common dummy     $steps_com  >> LOGS/common.log 2>&1 &
    
  8. Run the ./START

February 01, 2005

CVSR/Toolchain

  • Worked on CVS Report section of web site
  • Attempting to determine what ECRs were picked up for the toolchain. Found what I think might be a CVS tagging issue

Either I really just don't understand CVS branching or perhaps we have an error in tagging. I have written a Perl script that will report the ECRs involved between two different CVS tags. When I run this script on the toolchain, comparing tags Lion_com3_2_2_120204 -> Lion_com3_2_2_121604 I see odd results. I believe that the only real ECR involved here is ECR #23084. The following appears in Quintus for that ECR:

/cvs/gcc-cvs/toolchain/src/ChangeLog.lynx,v  <--  ChangeLog.lynx
new revision: 1.25.2.31; previous revision: 1.25.2.30

/cvs/gcc-cvs/toolchain/src/gcc/config/lynx.c,v  <--  lynx.c
new revision: 1.2.2.1; previous revision: 1.2

[Check-ins] on trunk

/cvs/gcc-cvs/toolchain/src/gcc/ChangeLog.lynx,v  <--  ChangeLog.lynx
new revision: 1.7; previous revision: 1.6

/cvs/gcc-cvs/toolchain/src/gcc/config/lynx.c,v  <--  lynx.c
new revision: 1.3; previous revision: 1.2

However I also notice the following WRT the file src/ChangeLog.lynx:

$ cvs log toolchain/src/ChangeLog.lynx
...
    Lion_com3_2_2_121604: 1.25.2.31
...
    Lion_com3_2_2_120604: 1.25.3.28
...
revision 1.25.2.31
date: 2004/12/15 23:48:49;  author: anemet;  state: Exp;  lines: +6 -0
        ECR 23084
...
revision 1.25.2.30
date: 2004/12/14 15:28:22;  author: orepin;  state: Exp;  lines: +17 -0
        ECR 22875
...
revision 1.25.2.29
date: 2004/12/14 09:26:25;  author: orepin;  state: Exp;  lines: +8 -0
        ECR 22805
...
revision 1.25.2.28
date: 2004/11/23 15:35:16;  author: aneyman;  state: Exp;  lines: +8 -0
        ECR 22989
...
$

So, to me, the ECRs that changed between the CVS tags of Lion_com3_2_2_120204 and Lion_com3_2_2_121604 WRT src/ChangeLog.lynx would be

  1. 23084
  2. 22875
  3. 22805

(I assume that ECR #22989 was included with the previous toolchain).

Or am I just looking at this the wrong way?

Futhermore, the other files associated with, for example, ECR #22875, are:

  • toolchain.cvsr/src/gdb/gdbtypes.h: 1.2.4.1
  • toolchain.cvsr/src/ChangeLog.lynx: 1.25.2.30
  • toolchain.cvsr/src/gdb/gdbtypes.c: 1.2.4.1
  • toolchain.cvsr/src/gdb/config/i386/tm-i386lynx.h: 1.2.4.3

Yet, other than ChangeLog.lynx, all other files have tags that suggest that nothing else changed! For example, gdbtypes.h has Lion_com3_2_2_120204 pointing to revision 1.2 and Lion_com3_2_2_121604 also pointing to 1.2! Likewise for gdbtypes.c and config/i386/tm-i386lynx.h. Is this a tagging error?