List of new features in SCO 2.3 Dev Sys
Ross Oliver
rosso at sco.COM
Tue Feb 28 09:00:44 AEST 1989
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.
More information about the Comp.unix.xenix
mailing list