diff options
author | David Henkel-Wallace <gumby@cygnus> | 1992-07-29 16:21:34 +0000 |
---|---|---|
committer | David Henkel-Wallace <gumby@cygnus> | 1992-07-29 16:21:34 +0000 |
commit | 5898af2c4bc6a91b1430cf781eae92fef87414ce (patch) | |
tree | 1402e5339d080438a7202c67295aa35ce4007e2e /sol-rel.texi | |
parent | d81eea83fb445dcd573f52288c1afedf732323b1 (diff) | |
download | gdb-5898af2c4bc6a91b1430cf781eae92fef87414ce.zip gdb-5898af2c4bc6a91b1430cf781eae92fef87414ce.tar.gz gdb-5898af2c4bc6a91b1430cf781eae92fef87414ce.tar.bz2 |
Add some files from Progressive shich shouldn't be lost.
Diffstat (limited to 'sol-rel.texi')
-rw-r--r-- | sol-rel.texi | 503 |
1 files changed, 503 insertions, 0 deletions
diff --git a/sol-rel.texi b/sol-rel.texi new file mode 100644 index 0000000..c73015a --- /dev/null +++ b/sol-rel.texi @@ -0,0 +1,503 @@ +\input texinfo +@c +@c This file may require a nonstandard texinfo.tex to format; if you +@c need it, please contact Cygnus Support (email editor-in-chief@cygnus.com) +@setfilename SOLARIS2.info +@c +@c This file describes a Cygnus Solaris Release (Developer's Kit). +@c +@c Copyright (C) 1991, 1992 Cygnus Support +@c This text may be freely distributed under the terms of the GNU +@c General Public License. +@c +@c $Id$ +@c +@iftex +@c The include file "texiplus.tex" is in the texinfo/cygnus dir, and +@c implements Cygnus modifications to the texinfo manual style. +@input texiplus +@c The include file "smpklug.texi" is a kluge to deal with local +@c document production issues at Cygnus; it's safe to comment out this +@c line if you don't have (or don't want) the file. +@input smpklug.texi +@smallbook +@cropmarks +@finalout +@settitle Release Notes +@setchapternewpage on +@c +@end iftex + +@titlepage +@title Release Notes +@sp 3 +@table @strong +@item Cygnus Support Developer's Kit +@item Release 1.0 for Solaris-2 +@end table +@author Cygnus Support +@page + +@tex +\def\$#1${{#1}} % Kluge: collect RCS revision info without $...$ +\xdef\Rmanvers{{\it Release Notes (Solaris-2 Developer's Kit)}, \$Revision$} % *NOT* for use in headers, footers +{\parskip=0pt \hfill Cygnus Support\par \hfill \Rmanvers\par \hfill +\TeX{}info \texinfoversion\par } +\global\def\manvers{Solaris-2 Rel 1.0} +@end tex + +@vskip 0pt plus 1filll +This product includes software developed by the University of +California, Berkeley and its contributors. + +This note is copyright @copyright{} 1992 Cygnus Support + +Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided also that +the entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions. + +@end titlepage + +@c PROOFREADING: set FIXMES to include FIXME text in formatted +@c output +@clear FIXMES + +@ifinfo +@node Top +@top Solaris-2 Developer's Kit release 1.0 + +@menu +* Introduction:: Overview +* Contributors:: GCC for Solaris-2 exists thanks to these people +* Versions:: Closest FSF Versions +* New:: New in This Release +* Limits:: Limitations and Warnings +@end menu + +This product includes software developed by the University of +California, Berkeley and its contributors. + +This file is copyright @copyright{} 1992 Cygnus Support + +Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided also that +the entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions +@end ifinfo + +@node Introduction +@chapter Overview + +@table @strong +@item Cygnus Support Developer's Kit +@item Solaris-2 Release 1.0 +@end table + +Sun has unbunded its compilers---selling them separately from the +Solaris 2.0 operating system. Many Sun users were unhappy that their +next upgrade might take away their C compiler. + +In response, Cygnus Support ported the GNU C compiler and supporting +tools to Solaris 2.0. The result is a full set of development +tools---ANSI and traditional C compiler (with supporting libraries), +debugger, parser generator, and lexical analyzer generator---freely +available to everyone. + +The GNU C compiler can be used to compile any kind of program: public +domain, copyleft, or proprietary. Your binaries have the same +copyright status as your sources and libraries. The only provision of +the GNU General Public License that applies to users of the compiler +(as opposed to people who make copies of the compiler, or modify it) +is the lack of warranty (section 11 and 12). FSF does not provide a +warranty to anyone, but Cygnus gives a 1-year limited warranty (a year +of support) to customers. + +@node Contributors +@chapter Contributors to GNU C for Solaris-2 + +Cygnus Support and the FSF are grateful to the forward-looking individuals and +organizations that sponsored this project. + +@noindent +We are glad to be able to thank publicly: + +@itemize @bullet +@item +Amoco Production Company (Houston, Texas) + +@item +BBN Communications (Cambridge, Massachusetts) + +@item +Boston Technology (Wakefield, Massachusetts) + +@item +Cirrus Logic (Fremont, California) + +@item +Compaq Computer Corporation (Houston, Texas) + +@item +Deere & Company (Moline, Illinois) + +@item +ELF Commnuications (San Francisco, California) + +@item +European Computer-Industry Research Centre GMBH (Munich) + +@item +Fidelity Investments (Boston, Massachusetts) + +@item +FTP Software, Inc. (Wakefield, Massachusetts) + +@item +Gallagher & Robertson (Oslo, Norway) + +@item +GTE Laboratories (Waltham, Massachusetts) + +@item +Ingres Corporation (Alameda, California) + +@item +Inland Sea (Dexter, Michigan) + +@item +Los Alamos National Laboratory (Los Alamos, New Mexico) + +@item +Miller/Howard Investures (Cobleskill, New York) + +@item +MIT Lincoln Laboratory (Lexington, Massachusetts) + +@item +NASA Lewis Research Center (Cleveland, Ohio) + +@item +Optimation Software (Melbourne, Australia) + +@item +PFU Limited (Tokyo) + +@item +Philips Laboratories (Briarcliff Manor, New York) + +@item +Pure Software (Los Altos, California) + +@item +Qualix Group, Inc. (San Mateo, California) + +@item +Schlumberger-Doll Research (Ridgefield, Connecticut) + +@item +Kevin Sheehan (Melbourne, Australia and elsewhere) + +@item +State University of New York (SUNY) at Buffalo + +@item +SunSoft, Inc. (Mountain View, California) + +@item +@tex +Technische Universit\"at M\"unchen (Munich) +@end tex +@ifinfo +Technische Universitaet Muenchen (Munich) +@end ifinfo + +@item +Telecom Finland (Helsinki) + +@item +Telecom Research Labs (Victoria, Australia) + +@item +Union Bank of Switzerland (Zurich) + +@item University of Pennsylvania (Philadelphia) + +@item +University of Washington (Seattle) + +@item +UUNET Technologies, Inc. (Falls Church, Virginia) + +@item +Warwick University (Coventry, England) + +@item +Xerox Palo Alto Research Center (Palo Alto, California) +@end itemize + +We are also grateful to six other organizations and individuals who +contributed to this project, but prefer to remain anonymous. + +@node Versions +@chapter Closest FSF Versions + +Cygnus Support devotes much of its effort to integrating and improving +free software. In fact, Cygnus employees are the primary developers +of several important components of the GNU tool-chain (on behalf of +the Free Software Foundation). However, especially for programs whose +FSF releases are issued elsewhere, our releases are often slightly +ahead of the nearest corresponding FSF version (and sometimes slightly +behind it). We reintegrate our sources with the FSF as frequently as +possible without compromising the stability of the integrated +toolchain. + +These are the nearest corresponding FSF releases of the GNU development +tools: + +@table @sc +@item @emph{Program} +@emph{Last merged with FSF version} +@item gcc +2.0 (but many improvements from 2.1 and 2.2 incorporated) + +@item gdb +4.6 (maintained at Cygnus) + +@end table + +@node New +@chapter New in This Release + +@table @strong +@item GCC +Near command-line compatibility with the SVID specification for +@code{cc}, and with the SVr4 @code{cc}. ELF output (with embedded +@code{stabs} format debugging information; this is compatible with Sun's +compilers). Many bug-fixes (from the base FSF level, and from our +Progressive--920318 release for SunOS). + +@item CPP +New directive @code{#assert}; you can use this directive, together with +enhancements to @code{#if}, to declare and test for particular system +properties. + +@item GDB +GDB understands the debugging format used by Solaris-2 compilers (both +ours and Sun's): @code{stabs} debugging information embedded in ELF +object files. + +Since our Progressive--920318 release for SunOS, we have also made these +improvements to GDB: + +Many bug fixes. + +GDB now uses a new memory manager called @code{mmalloc}, an enhancement +of @sc{GNU} @code{malloc}. It can greatly speed up the startup of GDB +by using a pre-parsed symbol table in a @code{mmalloc}-managed heap. +Since memory-mapped files are available on Solaris-2 through the @code{mmap} +system call, you can have GDB write the symbols from your program into a +reusable file. + +@item FLEX and BYACC +Release 1.0 for Solaris 2 includes @code{flex}, the fast lexical analyzer +generator, and @code{byacc}, the parser generator---both from UC +Berkeley. There are no restrictions on what use you can make of lexical +analyzers generated by @code{flex}, or parser generators built by +@code{byacc}. + +Since @code{flex} and @code{byacc} are of interest only to a specialized +audience, we ship only on-line documentation for them. +@inforef{Top,,flex.info}, or the @code{man} pages @samp{flex.1} and +@samp{byacc.1}. + +@item Problem Reports +The script @code{install_cid} is now available to record your Cygnus +customer ID for the problem-reporting utility, @code{send_pr}, on your +system. + +A blank Problem Report form is now included in the @cite{Introduction} +to your Developer's Kit manuals, in case FAX is more convenient than +electronic mail to send us problem reports. + +Since these programs are free software, many people who receive them +will not get them directly from Cygnus Support. We will be glad to +support you no matter where you got the software. If you have not yet +bought support from Cygnus for this set of tools, you can call us at +@w{+1 415 322 3811} for a support contract, and start reporting problems +and getting fixes. +@end table + +@node Limits +@chapter Limitations and Warnings + +Our major goals in this release was compatibility: with the System V +Interface Definition (@sc{svid}), with other Solaris-2 tools, and with +the @sc{sparc} Application Binary Interface (@sc{abi}). + +We have been largely successful: our toolchain complies with the +@sc{svid} specifications for compilation tools, most of the tools are +also command-line compatible with the Sun offerings (even in cases where +these go beyond the @sc{svid}), and we know of only one violation of the +@sc{abi}. + +The following sections give details on the few remaining compatibility +issues. + +@menu +* gcc-options:: Some Solaris-2 cc options not accepted +* cc-gdb:: Using gdb on Sun compiler output +* long double:: The long double datatype violates the ABI +* ABI:: No independent verification of ABI compliance +@end menu + +@node gcc-options +@section Some Solaris-2 @code{cc} options are not accepted + +In porting the @sc{gnu} C compiler to Solaris-2, we wanted to have +command-line compatibility with several compilers: + +@itemize @bullet +@item +@sc{svid} specification for @code{cc} + +@item +Other @sc{gcc} configurations + +@item +Unix SVr4 implementation of @code{cc} + +@item +Sun compiler for Solaris-2 + +@end itemize + +@noindent +Unfortunately, these specifications are not altogether compatible; we +have compromised in some areas, giving the most weight to the @sc{svid} +specification and to @sc{gcc} on other platforms. + +Here is a list of command line options @emph{not} accepted by +@code{gcc}, but meaningful in one of the other command-line +specifications listed: + +@table @code +@item -Bstatic +@itemx -Bdynamic +Use @samp{-static} or @samp{-symbolic} instead. (@samp{-Bstatic} and +@samp{-Bdynamic} are supported by Sun compilers, but are not in the +@sc{svid}.) + +@item -dy +@itemx -dn +These Solaris-2 linker options conflict with @sc{gcc} debugging options. +Again, use @samp{-symbolic} or @samp{-static} instead; or pass the +linker options directly to the linker using @samp{-Xlinker} or +@samp{-W}. + +@item -f +@sc{gcc} has a large family of options that begin with @samp{-f}. All +of these options are supported as in other versions of @sc{gcc}. The +SVr4 specification describes this option as accepted, but ignored; in +the @sc{svid}, it is used to specify floating-point emulation. + +@item -J sfm +This SVr4 option appears to specify linking against a special-purpose +subroutine library. It is not in the @sc{svid}, and @sc{gcc} does not +support it. + +@item -K +@sc{gcc} does not support @samp{-K}. To specify position-independent +code output, use @samp{-pic}. + +@item -P +This preprocessor option retains its usual @sc{gcc} meaning, which is +slightly different from the @sc{svid} and SVr4 descriptions (which are +not quite identical with one another). It is used to generate +preprocessor output---similar to @samp{-E}, but without embedding +@code{#line} directives. However, for @sc{gcc}, the output still goes +to @file{stdout} rather than to a @samp{.i} file. To place output in a +@samp{.i} file, use command-line output redirection. + +@item -q +This option is defined as implementation-specific by the @sc{svid}. +This implementation does not include it. + +@item -V +Displays version information for @emph{only} the assembler and linker. + +@item -v +Displays the full invocation of each compiler pass, as usual for +@sc{gcc}. This option is not defined in the @sc{svid}, but the SVr4 +documentation describes it as similar to the @sc{gcc} options +@samp{-pedantic} or @samp{-pedantic-errors}. We recommend using those +options instead. + +@item -W +@itemx -Y +In this implementation, @samp{-W} and @samp{Y} are restricted to +controlling the assembler and linker (the other compiler passes used by +@sc{gcc} do not exactly correspond to those in the @sc{svid}). + +@item -X +This option is not in the @sc{svid}, but is used in SVr4 to give a +little control over the dialect of C. For this purpose, you can use the +standard @sc{gcc} options @samp{-traditional}, @samp{-ansi}, or the +other options described in @ref{Dialect Options,,Options Controlling +Dialect, usegcc.info, Using gcc}. +@end table + +For full descriptions of the @sc{gcc} command line options in this +release, see the manual @cite{Using gcc}, or the man page @code{gcc.1}. + +@node cc-gdb +@section Using @code{gdb} on Sun Compiler Output + +By default, the Sun compiler @code{cc} and the system assembler +@code{as} omit debugging information from the final linked output file, +assuming the debugger will look in the @samp{.o} files for this +information. @code{gdb} will not do this. If you have the Sun compiler +@code{cc} and want to debug its output with @code{gdb}, you must include +the command-line flag @samp{-xs} when you run @code{cc}, to instruct it +to place debugging information where it will be copied to the linked +output file. Similarly, if you call the system assembler @code{as} +directly, use its command-line option @samp{-s} for the same purpose. + +@node long double +@section The @code{long double} datatype violates SPARC ABI + +The @sc{sparc} Application Binary Interface (@sc{abi}) specifies that +numbers of type @code{long double} take up 16 bytes. In this release, +@code{gcc} only emits 8-byte numbers for @code{long double}. + +This is the only known violation of the @sc{abi}. We will fix this +problem in a future release. + +@node ABI +@section No independent verification of ABI compliance + +We have made every effort to comply with the @sc{sparc} @sc{abi}, and we +are aware of only one violation (noted above). However, there is as yet +no independent verification of our compiler's compliance. + +@sc{sparc} International is preparing an ABI compliance test suite, but +it won't be available until sometime in the autumn of 1992. We will +seek verification of our compiler's compliance as soon as @sc{sparc} +International is ready. + +@contents +@bye |