[comp.unix.xenix] List of new features in SCO 2.3 Dev Sys

rosso@sco.COM (Ross Oliver) (02/28/89)

Here are some highlights of changes and additions to the SCO XENIX
2.3.0 Development System:


C Compiler: The 286 compiler is now Microsoft C 5.1.  The 386 compiler
    is Microsoft C 4.81.  Highlights of the new capabilities include:
    
	- Support for "compact" memory model
	- ANSI preprocessor functions of stringizing and token pasting
	- Function prototypes

    See the chapter titled "Converting from Previous Versions of the Compiler"
    in the C User's Guide for a complete list of differences.

COFF support: ld(CP) can link COFF object modules into XENIX binaries.
    The nm(CP) utility and the xlist(S) and nlist(S) library functions
    now understand COFF symbol tables.  The size(CP), strip(CP), hdr(CP),
    and fixhdr(C) utilities understand only enough COFF to output a
    sensible error message if you try to invoke them on a COFF object
    module or executable.

ar(CP) will accept an optional "-" before its arguments, and understands
    AT&T portable archives.

cpp(CP) is the UNIX 5.3 version.

ld(CP) now has a maximum number of segments of 8192.  The maximum number
    of libraries on a command line has been raised to 1024.

lex(CP) is now an 80386 binary, therefore imposing fewer limits on the
    maximum sizes of tables adjustable using command line options.

make(CP) was built from UNIX 5.3 source, with SCO XENIX modifications.  It
    understands both XENIX archives and AT&T portable archive format.

masm(CP) is now version 5.0. New features include:

	- Full support for 80386 instruction set.
	- Optional directive to have MASM automatically generate
	  segment definitions.
	- Significant speed and space performance improvements.
	- Ability to generate symbolic information for debuggers.

    For a complete list of new features, see the "New Features" chapter
    of the Macro Assembler User's Guide.

nm(CP) now automatically calculates the size of an executable's symbol table,
    and allocates adequate space for sorting.  This will eliminate previous
    problems of nm not having sufficient sorting space.

prof(CP) has a new command line option, -s, to specify the maximum number
    of symbols.

yacc(CP) now has command line options to adjust the maximum size of the
    following internal tables: number of actions per rule, optimizer space,
    number of states, number of rules, number of nonterminal symbols,
    number of identifiers and literals, number of lookahead sets and number
    of working sets.  These options should eliminate problems with yacc
    running out of resources.

The following utilities are now 80386 binaries, but are otherwise unchanged:
    asx, cb, diff, strings, strip, admin, bdiff, cdc, comb, cref, ctags,
    cxref, delta, dosld, get, help (sccs), m4, mkstr, prs, ratfor, rmchg,
    rmdel, sact, sccsdiff, spline, unget, val, xref, and xstr.


Libraries:

  - The termcap curses library has been completely updated.  The library on
    the distribution is now the same one used in all SCO applications.  Many
    bugs have been fixed.  New features added include terminfo-style keypad
    and attribute fuctions, user-definable attributes, a window dumping
    fuction to aid in implementing screen printing, and hooks to allow
    applications programmers to provide their own character output
    mapping functions.

  - The terminfo curses library is the UNIX 5.3 library.

  - The select() library function has been added.

  - An event library has been added to use event queues for handling mouse
    and keyboard input.

  - The math library has been ported from UNIX 5.3.  The math library
    will use the extended functions of an 80387 math coprocessor if
    one is present.
  
  - The dial(S) function has been modified to work with the HDB UUCP
    dialing scheme.

  - Advisory file locking is now available.  A compile-time option allows
    the programmer to specify advisory locking (-La) for SVID conformance,
    or mandatory locking (-Lm) for backward compatibility with releases
    of SCO XENIX previous to 2.3.

  - Libraries are provided to support the 286 compact model (one text
    segment with multiple data segments).

  - toupper(S) and tolower(S) are now functions in libc by default.  A #define
    can force the usage of the corresponding macros in <ctype.h>.
  
  - The libdir library (-ldir) has been added, and contains the UNIX 5.2
    compatible versions of opendir(), closedir(), readdir(), seekdir(),
    and telldir().


Documentation:

  - The C User's Guide and C Language Reference have been adopted from
    the Microsoft C 5.0 documentation.  New material includes chapters
    on working with memory models, using compiler optimization, writing
    portable programs, and an expanded section on compatibility with assembly
    language.
  
  - A section has been added to the C Library Guide on using the event
    library for mouse and keyboard input.
  
  - The Masm 5.0 reference manual is included.

  - The Device Driver Writer's Guide has been completely reorganized
    and rewritten.  New information on 386-specific kernel functions
    and DMA access has been added.
  
  - Many new example programs have been added to the System Services
    section of the Programmer's Reference.

ag@crash.cts.com (Keith Gabryelski) (03/02/89)

In article <1738@viscous.sco.COM> uunet!rosso (Ross Oliver) writes:
>Here are some highlights of changes and additions to the SCO XENIX
>2.3.0 Development System:
>
>  - The select() library function has been added.

Also, the System V Release 3 signal stuff has been added -- including
software signals [ssignal()], sigset(), sigrelse(), sigignore(),
sighold(), and sigpause().

These new signal routines (specifically sigpause()) do not have the
problems my posted patches to the 2.1 dev sys/os had.

Also, `cc' outputs (more) reasonable error messages (a big thing for me).

The documentation is on par with the 2.3 OS docs.  That is, compared
with earlier SCO documentation, fantastic.

I give it two `thumbs up'.

Pax, Keith
-- 
Keith Gabryelski       UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!ag
                       ARPA: crash!ag@nosc.mil        INET: ag@crash.CTS.COM

davidsen@steinmetz.ge.com (William E. Davidsen Jr) (03/03/89)

In article <3877@crash.cts.com> ag@crash.CTS.COM (Keith Gabryelski) writes:

| Also, `cc' outputs (more) reasonable error messages (a big thing for me).

  Have they fixed it not to output the name of the program it's
compiling when there's only one? Why must they be different than pcc in
that respect? All my toys to check the output of a make file for bugs
say "ah, ha! Here's a line I didn't expect!"
-- 
	bill davidsen		(wedu@ge-crd.arpa)
  {uunet | philabs}!steinmetz!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me

ked@garnet.berkeley.edu (Earl H. Kinmonth) (03/03/89)

In article <13295@steinmetz.ge.com> davidsen@crdos1.UUCP (bill davidsen) writes:
>In article <3877@crash.cts.com> ag@crash.CTS.COM (Keith Gabryelski) writes:
>
>| Also, `cc' outputs (more) reasonable error messages (a big thing for me).

And, what about lint?  The output of lint under 2.2 bears no relation
to what is claimed in the documentation and still less relation to any
format that might lend itself to use with an "error" like message insertion
program.

By the way, why are prototypes claimed as "new" feature for 2.3?  The 2.2
compiler supports them!  The problem is that the header files don't have
them, and as a recent posting pointed out, the 2.2 documentation does not
bother to tell you that the compiler is capable of generating prototypes
(for your source code).

chip@vector.UUCP (Chip Rosenthal) (03/04/89)

In article <1738@viscous.sco.COM> uunet!rosso (Ross Oliver) writes:
>2.3.0 Development System:
>  - toupper(S) and tolower(S) are now functions in libc by default.  A #define
>    can force the usage of the corresponding macros in <ctype.h>.

I'm curious as to whether this is a SysVism or an SCOism.  These have always
been quoted as classic examples of macros with side effects.
-- 
Chip Rosenthal     chip@vector.UUCP    |      Choke me in the shallow water
Dallas Semiconductor   214-450-5337    |         before I get too deep.

rick@pcrat.UUCP (Rick Richardson) (03/05/89)

In article <711@vector.UUCP> chip@vector.UUCP (Chip Rosenthal) writes:
>>  - toupper(S) and tolower(S) are now functions in libc by default.  A #define
>I'm curious as to whether this is a SysVism or an SCOism.

I think this is an internationalization (what a word!).  Something
says to me that ctype's are now selectable as an environment option.

-- 
Rick Richardson | JetRoff "di"-troff to LaserJet Postprocessor|uunet!pcrat!dry2
PC Research,Inc.| Mail: uunet!pcrat!jetroff; For anon uucp do:|for Dhrystone 2
uunet!pcrat!rick| uucp jetroff!~jetuucp/file_list ~nuucp/.    |submission forms.
jetroff Wk2200-0300,Sa,Su ACU {2400,PEP} 12013898963 "" \d\r\d ogin: jetuucp

kory@avatar.UUCP (Kory Hamzeh) (03/06/89)

In article <13295@steinmetz.ge.com>, davidsen@steinmetz.ge.com (William E. Davidsen Jr) writes:
>   Have they fixed it not to output the name of the program it's
> compiling when there's only one? Why must they be different than pcc in

Have you tried setting the environment variable QUIETCC to any non-blank
value? I shuts up my cc. 

--kory


-- 
-------------------------------------------------------------------------------
Kory Hamzeh			    UUCP:     ..!uunet!psivax!quad1!avatar!kory
				    INTERNET: avatar!kory@quad.com