Return-Path: engineering-request Return-Path: smlieu Received: (from smlieu@localhost) by cygnus.com (8.6.9/8.6.9) id UAA14098 for engnews-distrib; Sat, 30 Jul 1994 20:34:37 -0700 Date: Sat, 30 Jul 1994 20:34:37 -0700 From: Sun Ming Lieu Message-Id: <199407310334.UAA14098@cygnus.com> To: engnews-distrib Subject: Inside Cygnus Engineering - Vol 3 #7 ------------------------------------------------------------------------- Vol 3 No 7 INSIDE CYGNUS ENGINEERING July 1994 ------------------------------------------------------------------------- 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. TABLE OF CONTENTS ----------------- . New DOS Installation . Gcc/G++ 2.6 Net Release . Gdb Support for E7000-PC In-Circuit Emulator . Gdb GUI update . Cygnus Network Security (Kerberos) Improvements . 94Q2 Shipment . Software maintenance status . Cygnus Authors . Goodbye from the Editor and `Chief Cat Herder' PRODUCTS AND RELEASES --------------------- 1. New DOS Installation In response to your suggestions, we are shipping a brand new installation program as part of the 94Q2 Progressive Release for DOS customers. The distribution has been compressed to four to five floppy discs, or about half the original size. The installation program is included on disc 1. To run it, simply type "A:\INSTALL". The program checks to make sure that you have enough free space (typically 10 to 15 megabytes depending on the target) before starting. It interactively prompts for installation directory and additional discs. A bar graph showing the fraction of the installation completed is provided, and the names of the files being copied and expanded are shown at the bottom of the screen. For this release, sources are still being provided on magnetic tape. However, we are evaluating using CD-ROM for distribution in future releases. 2. Gcc/G++ 2.6 Net Release A combined Net release of gcc, g++, and the libg++ class library was made in mid-July. Gcc: The source directory has been reorganized so that language front ends such as C++, Ada, Objective-C, etc., can be located in their own subdirectories. In this release, C++ has been moved to its own subdirectory, cp. Subsequent releases of gcc will place these files in a separate tar file. Numerous bugs have been fixed in the C and C++ front-ends as well as in the common compiler code. New platforms supported include - 64-bit Sparc (v9) and 64-bit MIPS - OSF/1 V2.0 on ALPHA and Irix 5 on MIPS - "common mode" for the POWER and PowerPC architectures - LynxOS on x86, m68k, and Sparc systems - Hitachi h8/300 and h8/300h with 32 bit IEEE 754 software floating point support. The code to replace division by integer constants by the equivalent multiplication and shift operations when the latter is faster is included. There are also many new machine specific options, e.g., -mno-sum-in-toc for RS/6000, -mapp-regs and -mflat for Sparc, and -membedded-pic for MIPS. G++: In addition to an extensive number of bug fixes in nested types, access control, pointers to member functions, the parser, templates, overload resolution, etc, g++ continues to track the development of the ANSI standard for C++. Some new features added from the latest working paper include: - built-in boolean type 'bool', with constants 'true' and 'false'. - array new and delete (operator new [] and delete []). - WP-conforming lifetime of temporaries. - explicit instantiation of templates (template class A;), along with an option (-fno-implicit-templates) to disable emission of implicitly instantiated templates, obsoletes -fexternal-templates. - static member constants (static const int foo = 4; within the class declaration). Many error messages have been improved to tell the user more about the problem. Conformance checking with -pedantic-errors has been improved. G++ now compiles Fresco. Signatures have been added as a GNU C++ extension. Using the option -fhandle-signatures, users are able to turn on recognition of signatures. A short introduction on signatures is in the section `Extension to the C++ Language' in the manual. There is now an experimental implementation of virtual functions using thunks instead of Cfront-style vtables, enabled with -fvtable-thunks. This option also enables a heuristic which causes the compiler to only emit the vtable in the translation unit where its first non-inline virtual function is defined; using this option and -fno-implicit-templates, users should be able to avoid #pragma interface/implementation altogether. A very preliminary version of exception handling is included in g++. While g++ was the first C++ implementation to support exception handling, our version was not adopted as part of the ANSI working papers. The current implementation will eventually provide exception handling as defined. Longtime readers of ICE will recognize that many of these features were developed here at Cygnus, and Cygnus customers have had the benefit of early access to them since the 93Q4 or 94Q1 Progressive Releases. 3. Gdb Support for E7000-PC In-Circuit Emulator The version of gdb that is shipped in the 94Q2 Progressive Release provides support for the Hitachi E7000-PC in-circuit-emulator (ICE). The E7000-PC is based on a standard ISA board that is installed in an IBM PC or clone. It is connected via a special high speed connection to pods containing specific targets. Gdb communicates with the target in the same way as with any other serial device, e.g., (gdb) target e7000 com2 9600 connects to an standard E7000 on com2 (gdb) target e7000 pc connects to an E7000-PC We currently provide support for the Hitachi SH and H8/300H pods. NEW AND ONGOING DEVELOPMENTS ---------------------------- 1. Gdb GUI Update Gdb: Since we first mentioned a graphical user interface (GUI) for gdb some months ago, gdb has been restructured to include a C language interface that sends commands to and receives annotated output from the main body of gdb. The familiar tty-based gdb is unaffected by these changes. However, gdb can be split at the interface layer to communicate instead with emacs, X-based interfaces, tk, and other display systems. Currently, we simply link with a number of gdb object files (.o's) to build a gdb with a new user interface front end. However, the gdb object files can also be packaged together to form a freestanding libgdb. As this library would ultimately be derived from gdb sources, it placed under the General Public Licence (GPL) rather than the Library GPL (LGPL). A prototype using emacs-19 as the GUI front end was demonstrated at SunWorld in June. The code underlying this demo will be available with the gdb 4.13 release that will be made in August. We are making this available as early as possible in order to encourage Net volunteers to contribute to the effort. GUI: The graphical user interface (GUI) library is designed to be a foundation for much future reuse, customization, and extension. It consists of a small, efficient graphics library that is portable between window systems and a collection of familiar higher-level components (buttons, scrollbars, text editors, etc.) written in a high level interpreted language (scheme). We want the GUI to be more than a `Button Box Library'. We have tried to emulate the best ideas of a variety of successful antecedents. The event handling capabilities, support for on-line help, and text editting data structures are inspired by emacs-19. We've provided a text display module with support for multiple fonts, graphical embedding, and hypertext applications in the tradition of the Andrew Toolkit. Some layout and drawing code has been imported more or less directly from Tcl/Tk. In addition, special attention has been given to making the low-level graphics support fast, general, and well-suited for use from an interpreted language. Finally, these features are presented in a context that allows them to be combined and extended using a high level language that is simple but powerful enough for sophisticated programming. The X-based version of the GUI components library is now taking shape. It is based on low level X intrinsics rather than the Motif library in keeping with our commitment to freely redistributable software. Relying only on Xlib-style functionality also contributes to portability, e.g., to environments like NT or OS/2. We plan to release this library to the Net later this year to encourage use, feedback, and contributions. Gdb GUI: The overall structure of gdb GUI is a top level window that provides access to a collection of windows. These in turn display and manipulate source files, breakpoints, backtrace, expressions, etc. A familiar command line window will also be available. ***************************************************************** ***************************************************************** *** Since we are at the assembly stage, we would welcome your *** *** suggestions for desired features to assist us with out *** *** prioritization: *** *** *** *** What are the top 5 features that you would like to see in *** *** gdb GUI? Why? *** ***************************************************************** ***************************************************************** We expect to be demonstrating X-based prototypes in Q4, and to have beta software in the first quarter of 1995. An MS Windows version has been initiated as well. However, we have no schedule commitments at this time. 2. Cygnus Network Security (Kerberos) Improvements We have made early releases of our Cygnus Network Security (CNS, or Kerberos) ports for both the Macintosh and MS Windows systems. In addition, we have made our first delivery of CNS to an international customer. We accomplished this by having non-US citizens do all the cryptographic work overseas. Both of these are currently based on Kerberos Version 4, but work on Kerberos Version 5 is also proceeding. We are continuing to improve and solidify these ports, and plan to make them fully productized release in the near future. This will allow us to deliver a fully supported, freely and internationally available release of Kerberos on major Unix and non-Unix platforms within the next few months. Please contact us at info@cygnus.com if you are interested in getting support as an early adopter for these products. SUPPORT ACTIVITIES ------------------- In addition to new development, 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. 94Q2 Shipment We have completed shipment for the 94Q2 Progressive Release. If you have not received your shipment by August 1 (or slightly later for our international customers), please contact us at production@cygnus.com. 2. Software maintenance status The following table shows the maintenance statistics for the last five weeks. We continue to need your help: please let us know when you agree that a problem has been fixed so that we can move it from a "feedback" state to a "closed" state. # # # # # # Date Open Analzd Fdback Closed Suspnd Total ------------------------------------------------------------ 06/20/94 394 270 853 3,339 148 5,004 07/25/94 445 265 871 3.453 154 5,188 ------------------------------------------------------------ Change +51 -5 +18 +114 +6 +184 OTHER ITEMS ----------- 1. Cygnus Authors The Cygnus World Wide Web page continues to evolve. One of the most popular recent additions is Jason Molenda's MN DOD Road Trip, an account of his recent motorcycle vacation. In addition, Cygnus staff members also pursue more traditional publishing activities: Pat McGregor of our documentation group will have a new book, entitled "Mastering the Internet", published by Sybex in mid-October, and just in time for Christmas. Her co-author is Glee Harrah Cady of Netcom. Brendan Kehoe's "Zen and the Art of the Internet" continues to be well received. The third edition was released at the beginning of the year and is now in its fourth printing. The second and third editions combined have sold more than 50,000 copies. (The first edition was and is freely available online, and has probably `sold' even more copies than the printed versions.) 2. Goodbye from the Editor and `Chief Cat Herder' I am leaving Cygnus Support in a few weeks to investigate and pursue new opportunities. Jeffrey Osier (jeffrey@cygnus.com) of our documentation group will take over responsibility for ICE as of the August issue. For those of you who have worked with me in my other capacity as engineering manager, David Henkel-Wallace (gumby@cygnus.com) will be replacing me in that role. Through 31 issues of ICE it has been my pleasure to share the efforts and hopes of our organization with you. However, there is no feast that does not end. My best wishes to you all, and heartfelt thanks for all the support and encouragement that you have given us over the years. Sun Ming Lieu smlieu@cygnus.com --------------------------------------------------------------------- Cygnus Support 1937 Landings Drive 48 Grove Street Mountain View, CA 94043 Somerville, MA 02144 +1 415 903 1400 voice +1 617 629 3000 voice +1 415 903 0122 fax +1 617 629 3010 fax ---------------------------------------------------------------------