Replied: Thu, 20 Jan 1994 13:29:38 -0800 Replied: "smlieu (Sun Ming Lieu) " Return-Path: smlieu Return-Path: Received: by cygnus.com (4.1/SMI-4.1) id AA27825; Wed, 19 Jan 94 18:06:53 PST Date: Wed, 19 Jan 94 18:06:53 PST From: smlieu (Sun Ming Lieu) Message-Id: <9401200206.AA27825@cygnus.com> To: engnews-distrib Subject: Inside Cygnus Engineering - Vol 3 #1 ------------------------------------------------------------------------- Vol 3 No 1 INSIDE CYGNUS ENGINEERING January 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 ----------------- . Welcome to Volume 3 . Q4 Update . 94Q1 Update . Reduction in Linker Memory Usage . New Macro Preprocessor for Gas . Software Maintenance Status . Customer Forum (ICE) . Customer Forum Responses (Support on Sun Platforms) . People Notes FROM THE EDITOR --------------- Welcome to Volume 3 of Inside Cygnus Engineering! There is a statistic somewhere about most periodicals not lasting longer than 18 months. Thanks to your support, we are now into our third full year of ICE. 1993 has been a year of growth and change for us at Cygnus Engineering, and change is essential to our continued growth. But what does not change is our commitment to our customers and to supporting free software. 1994 promises to be an exciting year as we consider new possibilities in products and services. ICE is one of our channels of communications, and we hope that it will continue to serve your needs. Our Customer Forum questions in this issue focus on how we can improve. Please continue to help guide our evolution with your suggestions. PRODUCTS AND RELEASES --------------------- 1. Q4 Update Most of the Q4 update tapes have already been shipped. If you would like to get an update but have not yet requested one, or if you have not yet received your update, please contact us at production@cygnus.com. Unfortunately, two minor workarounds did not make it into the Release Notes that were sent out with the first shipments. Both of these are required only if you rebuild from sources. 1. For all platforms The file make/Makefile requires that make/config.h.in. be rebuilt. For systems without a program called autoheader, the build will fail. To get around this, `touch' the file make/config.h.in first. 2. For all m68k target platforms: The stub file in newlib/stub/shared/crt0.S contains an instruction for m68020 or higher cpu's, "bnel". This needs to be changed to "bne". 2. 94Q1 Update The next progressive release, 94Q1, is planned for shipment at the end of March or shortly thereafter. This release adds a number of new Lynx and SPARClite platforms. Thanks to your feedback, some other platforms have been eliminated. The supported platforms are shown in the matrix below. New features in the 94Q1 release include support for gcov code coverage analysis in native platforms and a 2.x version of gas supporting the SOM format for HP-PA platforms. Reduction in memory usage for the linker (ld) for selected object file formats, and a preliminary version of a macro preprocessor for gas (gasp) are also part of the release. s s g u i m p r i n x 6 a / / i 8 8 r s i h h x 6 k c s s s d 6 r p p m w l l l o u u s 0 i 3 7 d i a y y y l n n t 0 x 0 0 o p r n n n TARGET\HOST | 2 3 4 n 0 4 0 0 s s e x x x -----------------+--------------------------------------------- native | N N N N N N N N N N N N a29k-amd-udi | X X X h8300-hms | X O i386-aout | X i386-netware | X i386-lynx | X i960-intel-nindy | X i960-vxworks | X X X X m68k-aout | X X X X X X X m68k-coff | X X X O m68k-idp | X m68k-lynx | X m68k-vxworks | X X m88k-coff | O mips-idt-ecoff | X X X O mipsel-idt-ecoff | X sh-hms | X O sparc-aout | X sparc-lynx | X X sparc-vxworks | V sparclite-aout | X X sparclite-coff | X X sparclite-vxworks| V z8k-coff | O Key: N - supported native (no runtime libraries except libg++) X - supported cross O - contact Cygnus for availability V - uses vxgdb NEW AND ONGOING DEVELOPMENTS ---------------------------- 1. Reduction in Linker Memory Usage A number of users have asked for reduced memory usage in the linker (ld). Last fall, we began some preliminary effort to support this. We have revised and merged this work into the main development sources. The change involved moving the location of the interface between the Binary File Descriptor library (libbfd) and the linker so that there is much less information flow across it. In the original ld implementation, all symbols are read into memory and converted to a canonical form which is then linked. In the current design, the symbols are linked within libbfd without needing the extra conversion. This uses much less memory because the space required by the canonical form is not allocated (although libbfd increases slightly in size). Two backends, a.out and ecoff, have now been converted and included as part of the 94Q1 progressive release. Below are some sample statistics comparing memory usage between the original and the new implementations. runtime memory use executable size ----------------------------------------------------- original linker 100% 100% new linker a.out 50% 100% new linker, ecoff 50%+(1) ~70% (1) depends on program; there is also some effect due to compression of debug information We expect similar changes to runtime memory use when the elf and coff backends are modified. In addition to memory usage reduction, ld may also operate faster because format conversion is not performed. In general, ld profile times are dominated by file I/O which is unaffected by the modifications. However, if the original ld used enough runtime memory to start getting swapped out, then the new linker should be significantly faster in real time. 2. New Macro Preprocessor for Gas In an effort to obtain as much performance from their code as possible, many of our customers have requested some form of macro processing for the assembler. After evaluating M4 and cpp, we decided to implement a new preprocessor that can be used with gas and many other assemblers. Named `gasp' for the Gnu ASsembler Preprocessor, it understands the most common and major constructs found in many macro assemblers; e.g., MACRO, RADIX, AWHILE, AIF, etc. Gasp also allows you to define and use your own macros with gas. For example: .MACRO saveregs from=8 to=14 count .ASSIGNA \from ; save r\from..r\to .AWHILE \&count LE \to mov r\&count,@-sp count .ASSIGNA \&count + 1 .AENDW .ENDM saveregs from=9 saveregs 1,5 .RADIX Q bar: mov #H'dead+12,r0 foo .SDATAC "hello"<12> .END is transformed into ; save r9..r14 mov r9,@-sp mov r10,@-sp mov r11,@-sp mov r12,@-sp mov r13,@-sp mov r14,@-sp ; save r1..r5 mov r1,@-sp mov r2,@-sp mov r3,@-sp mov r4,@-sp mov r5,@-sp bar: mov #57005+10,r0 foo: .byte 6,104,101,108,108,111,10 A preliminary version of the gasp preprocessor, including a draft version of the documentation, will be included in the 94Q1 progressive release. 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. 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 ------------------------------------------------------------ 12/20/93 482 256 744 2,424 140 4,046 01/17/94 458 230 785 2,576 143 4,192 ------------------------------------------------------------ Change -24 -26 +41 +152 +3 +146 OTHER ITEMS ----------- 1. Customer Forum We value your suggestions, and would like your response to the following questions (to engnews@cygnus.com). We will publish summaries of answers of general interest in a future issue. 1. Which parts of ICE do you find the most useful? Enjoy the most? 2. What other topics would you like to read about? 3. What else would you like to change? How? 2. Customer Forum Responses Since Sun hosts, for both native and cross development, are our most popular platforms, in the December issue of ICE we asked you about your support needs for Sun platforms. 1. Are you still using Sun 3's? If so, do you foresee phasing them out? Surprisingly, there are still several users with Sun 3's. These CPU's are mostly used for maintenance of historical releases, and some are threatened with physical extinction in 1994. Here at Cygnus, we maintain one Sun 3 for builds, but have recycled over a half dozen into X-terminals. 2. Have you migrated to Solaris? If not, do you intend to migrate? If so, when? About 30% of you are using Solaris. The rest spanned a range from a reluctant `eventually' to `not thrilled' to outright no's. This lack of interest in Solaris has also led us to scale back our Solaris host offerings as part of the 94Q1 progressive release. 3. People Notes Brendan Kehoe: Brendan (brendan@cygnus.com), a member of our g++ team and author of `Zen and the Art of the Internet', was seriously injured in an automobile accident on New Year's Eve. He is now out of danger and in rehabilitation, and generally `doing amazingly well for someone who collided with a Jeep and a house two weeks ago'. There has been a tremendous upwelling of support from the Internet community. If you would like to get news about Brendan, finger or send email to brendan-news@cygnus.com. Jeffrey Osier: Jeff (jeffrey@cygnus.com), a member of our documentation team, was awarded second place in the Short Story category of the second annual Digital Quill Awards for electronic publishing. The requirement for this competition is that `submitted materials must have either been uploaded to an online system or distributed on disk for reading by computer as digital materials'. Jeff's entry was entitled `How to Roll a Perfect Cigarette' and can be found in the pub directory on ftp.cygnus.com, in the file `cigarette'. Xmastree: As a last hurrah before joining the great compost heap in the sky, xmastree@cygnus.com made the front page of the New York Times on Christmas Day. --------------------------------------------------------------------- Cygnus Support 1937 Landings Drive One Kendall Square Mountain View, CA 94043 Cambridge, MA 02139 +1 415 903 1400 voice +1 617 494 1040 voice +1 415 903 0122 fax +1 617 494 1325 fax ---------------------------------------------------------------------