Return-Path: paula Return-Path: Received: from spiff.cygnus.com by cygnus.com (4.1/SMI-4.1) id AA19566; Wed, 13 May 92 09:54:13 PDT Date: Wed, 13 May 92 09:54:13 PDT From: paula (Paula Vancini) Message-Id: <9205131654.AA19566@cygnus.com> Received: by spiff.cygnus.com (4.1/SMI-4.1) id AA08946; Wed, 13 May 92 09:54:11 PDT To: engnews-distrib Subject: INSIDE CYGNUS ENGINEERING: May 1992 Reply-To: paula@cygnus.com Organization: Cygnus Support, Palo Alto CA; Phone +1 415 322 3811 --------------------------------------------------------------------- INSIDE CYGNUS ENGINEERING May 1992 --------------------------------------------------------------------- Inside Cygnus Engineering (ICE) is published monthly for customers of Cygnus Support. Our objective is to provide a relevant but informal summary of news and ongoing activities. Please send all comments, suggestions, and subscription requests to engnews@cygnus.com. PRODUCTS AND RELEASES --------------------- 1. i960 Support for gcc Merged with FSF After months of work, we have now merged our Intel i960 backend for gcc into the Free Software Foundation (FSF) source tree. This will be part of the next FSF gcc release (2.2). We will also be working with Intel to continue to improve this code. Customers who already use our i960 platform may wonder why we consider this important news. There are two main reasons for this: 1. gcc 2 previously had no i960 support. Making it part of the FSF release makes the code freely available to anyone who is interested in using the i960. All users benefit because there will now be more people testing, fixing, enhancing, and developing more software for i960. 2. Keeping our sources merged with FSF wherever possible is a key engineering goal. As developers, we all understand the problems with multiple versions of software. The synergy of efforts that free software provides can only be truly leveraged when there is little divergence. 2. Progressive Update For the May Progressive release we planned to support native c and c++ development on five hosts: Sun3, Sun4, DECstation, SGI-Iris, and IBM RS/6000. We have encountered unexpected difficulties in a couple of areas: 1. libg++ is very interdependent with the host header files and libraries. Creating a generic libg++ that is portable to a range of platforms has been harder than we first expected. We now have a solution, but the time required has affected our schedules. 2. Keeping a working toolchain for the RS/6000 has been difficult for a variety of reasons, mostly because AIX and its native assembler and linker are quite different from the other platforms to which the toolchain has been ported. Despite much hard work by our staff, some of the this software is still not robust enough for a Progressive release. As we go to press, we are considering dropping components of the release to meet the schedule, even at the cost of some of the functionality goals. It appears that eliminating the RS/6000 platform at this time would make the most customers happy while disappointing the fewest. 3. Progressive Emacs We support emacs for only a small portion of our customers. However, as part of our commitment to provide commercial support for free software, we are putting together a "progressive" emacs release. This is in the prepackaged box format, including a tape of sources and prebuilt binaries, documentation, and a simple installation script. The package includes some of the more popular emacs components such as gnus, ispell, and calc, and is available on the five platforms, Sun3, Sun4, DECStation, SGI-Iris, and IBM RS/6000. This release will be available to customers with emacs support, and as an unsupported tape and documentation only package. The release date is May 18. NEW AND ONGOING DEVELOPMENTS ---------------------------- Often, we'll first implement new facilities on one or two new plat- forms, then add more platforms as the market dictates. Therefore, some of the following developments are not yet available across our full range of supported platforms. 1. MRI-compatible gas We are developing a version of gas, the GNU assembler, that can interoperate with some of the Microtec Research, Inc. (MRI) tools for 68k. Functionality supported includes: - section naming - .s files generated by mcc68k - opcode mnemonics - asm68k directives - asm68k style listings - ar and ld will accept MRI style script files We do not plan to support MRI X-ray debugging at this time. Current hosts include Sun4 and HP/Apollo under the BSD 4.3 emulation environment. 2. 29k UDI Support Our 29k version of gdb now supports AMD's UDI (Universal Debugger Interface). In addition, configuring the GNU toolchain for the sa29200 target will result in the generation of code that can run on the 29k Instruction Set Simulator (ISS) provided by AMD or on the SA29200 evaluation board. This work was accomplished with much cooperation from the AMD engineers, and will be part of the gdb 4.6 release that we are planning in about a month. 3. GNU on a PC Venturing beyond our habitual Unix environments, we have been working on a DOS host for GNU software targeting AMD 29k. This runs only on i386/486 machines, and uses a DOS extender. We believe this will serve a real need in the marketplace, and will be putting the DOS host onto a progressive release in the fall. As part of this work, and reflecting our roots, we have also created a set of GNU cross development tools running on the Sun4 to create DOS executables. This toolset includes the compiler, assembler, linker, binutils, and libraries. While this is for internal use at present, it offers the interesting possibility of allowing development for the most widespread computer platform (DOS) on the developer's favorite platform (Unix). 4. Solaris 2.0 Update We continue to make good progress on the Solaris port. gcc is now generating working position independent code (PIC). Tasks remaining include the c runtime and crt0, libm, debugger cleanup and ABI compliance verification, and installation script and packaging issues. We are confident about shipping the toolchain at the time of the Solaris 2.0 release. SUPPORT ACTIVITIES ------------------- In addition to new developments, a significant part of our engineering resources is devoted to answering questions, fixing problems in the GNU software, and providing a range of support services to our customers. 1. Fixing Bugs in g++ Upon the release of FSF gcc 2.1, we were inundated by g++ bug reports. In one 15 day period, our g++ support engineer had accumulated 74 outstanding bug reports that would require more than a few minutes to fix. Galvanized by the thought that this would mean 1,800 outstanding reports in a year, he charged into action. The result is many fixes, including: - "signed char" is now distinct from normal "char" - stricter checking about const data items - incorrect and annoying warnings about volatile functions have been eliminated g++ can now compile InterViews 3.0.1 with a few small changes to InterViews. The bug reporting rate has since tapered off, and we were able to do another merge with the FSF source in record time. Much work is still needed with respect to bringing g++ to ANSI conformance and fixing additional bugs. We have started a project with this work and additional enhancements in mind. Future issues of ICE will report on this project in more detail. 2. Testing Framework Our software testing process is a key part of our ability to turn out quality releases on a large number of native and cross platforms. We have begun an effort to design and build a free automated test framework for our GNU software this year. Proposed system attributes include: - configurable for various host/target platforms - allows incorporation of functional and regression test suites from free, proprietary, and confidential sources - can generate auxiliary information such as code coverage andd performance benchmarks - integrated with PRMS - documented to encourage users to contribute tests and enhancements to the framework itself 3. Internal Documentation The GNU project has extensive user documentation. We are working on improving the internal documentation. This is currently focused on stabs debugging information format for c and c++. "stabs" is used in a.out, RS/6000 xcoff, GNU-extended MIPS ecoff, and some ELF object files. As a result of this effort, we have already identified several previously undetected bugs. 4. New Report Generator for PRMS We have added new generic query and reporting capabilities to the PRMS problem report tracking system. This allows us to review the status of software problems and customer requests easily, and to generate different summary reports and statistics about them. Typical reports include - weekly statistics on number of PR's opened and closed - customer specific PR's - open software PR's - change requests Please contact us at engnews@cygnus.com if you would like to receive these. 5. Software Status Update Open problem reports as of May 4: 217 New reports since April 6: 115 Reports closed since April 6: 64 OTHER ITEMS ----------- We value your inputs, and would like to ask for your response to the following questions (to engnews@cygnus.com). We will publish summaries of answers in the following issue. 1. Would you like us to mention your name in ICE? The Cygnus Support policy is to not mention a customer by name unless we have specific permission from you to do so. Since we develop and support free software, we would like to mention your contribution when we talk about new and ongoing developments. Please let us know if you would not object to having your organization mentioned. 2. Questions on ICE readership... Do you read ICE regularly? Are you getting the information you want from ICE? The first response received at engnews@cygnus.com wins a prize. --------------------------------------------------------------------- Cygnus Support 814 University Avenue One Kendall Square Palo Alto, CA 94301 Cambridge, MA 02139 +1 415 322 3811 voice +1 617 494 1040 voice +1 415 322 3270 fax +1 617 494 1325 fax