Solaris 7 3/99 Online Release Notes (SUNWrdm)

Chapter 3 New Features

Solaris Documentation

Solaris 7 Supplements

In this Solaris release you will find supplemental documentation describing new functionality. If a Solaris 7 AnswerBook2TM collection has been updated, you will find a Solaris 7 Supplement in that collection.

Solaris Issues

Solaris Name Change

This release of Solaris is called Solaris 7 instead of Solaris 2.7. As the Solaris product line continues to grow, this name change will make it easier for you to determine which products in the Solaris line you might want to use.

In Solaris 7, the transition to the new name change is in progress. That means that you will still see references to Solaris 2.7, and even to Solaris 2.x.

The name of the core operating system has not changed. In this release, it is SunOS 5.7.

Euro Unit Support

Support for the new Euro currency has been added to the Units command. This new feature enables you to enter, display, and print the new Euro currency symbol. It also adds system support for monetary string formatting in Euros.

However, exchange rate conversion between the Euro and other currencies is not supported. This should be handled at the application level.

Updated Version of the JavaTM Development Kit

The Java Development Kit (JDK), bundled with this release, has been updated to version 1.1.6. In addition to providing greater stability, this version offers significant performance improvements for certain types of applications (like applications that are computationally intensive) due to a number of optimizations made to the JIT compiler.

This version also includes support for large files. Java classes and methods can now access files greater than or equal to 2 GBytes without any API changes. As a result, a Java application run with this version of the JDK will now be able to access large files.

Updated Security In Sendmail

Solaris 7 software includes Sendmail version 8.9.1. In this version, some security checks are tightened by default. For example, forwarding files, .forward, or alias files specified with :include: may need some modification to work properly with this Solaris release.

See the Mail Administration Guide for more information.

Multi-threaded-hot malloc

libmtmalloc provides an alternative dynamic memory allocator for multi-threaded applications. The library provides the traditional API for heap management, malloc, calloc, realloc and free. Unlike libc malloc, libmtmalloc provides concurrent access to the heap-managed area, providing higher performance for a key system utility.

To use this library you must link your application -lmtmalloc. Note that -lmtmalloc must appear on the link line prior to linking with libc -lc.

For more information, see the man page 3t malloc.

Processor Interrupt Control

Processor interrupt control can be used by system administrators and developers of real-time applications to control interrupt distribution in a multiprocessor system. It can improve the performance of applications running on the processors where interrupts were disabled.

It enables users to disable most interrupts on specified processors. This can be done by using the psradm(1m) command or p_online(2) system call for individual processors, or using the psrset(1m) command for all processors in a processor set.

For more information see the man pages, psradm(1M), p_online(2), and psrset(1M) .

No Support for 3.3V

The pcic nexus driver for the PCMCIA interface does not support 3.3V on devices. Cards that are 3.3V only do not work correctly; they seem to hang a system. There are several related causes for this problem:

Some of the new PC cards are now available as 3.3V only. This includes variations of supported devices such as PC ATA and SRAM. New bus bridges, such as the TI PCI1130/1131, support 3.3V as well as 5V.

64-Bit Solaris Issues

SPARC only: 64-Bit Assembler Instructions

The bundled assembler on SPARC systems has been updated to support assembling both 32-bit and 64-bit SPARC assembler programs. The supported instruction sets include SPARC V8, SPARC V9, and the UltraSPARC-specific Visual Instruction Set (VIS) instructions.

64-Bit Solaris Support for the Assembler

A mechanism was included in the SPARC V9 ABI to provide global register use checking so that these global registers can be more reliably utilized.

This mechanism is described in the SPARC V9 ABI. In summary, ELF register usage records were introduced. V9 ABI compliant programs are required to utilize these records to report global register usage. During link time, either static or dynamic, the records are compared to insure consistent usage of the global registers between differing linkable objects. If inconsistent usage is detected, an error message results from the link operation.

To implement this mechanism, the compiler must output the ELF register records. This can currently be accomplished by adding the -Wc,-Qiselect-regsym=1 option for C or the -Qoption cg -Qiselect-regsym=1 option for C++ to the compiler when compiling for v9. Linkers bundled with Solaris 2.5.1, Solaris 2.6, and Solaris 7 accept the ELF register records. Linkers bundled with previous Solaris builds do not accept the new ELF register records and issue an error message.

Since the SPARC assembler may also generate linkable objects, it is necessary for the SPARC assembler to also output the ELF register records. The assembler needs to know how you intend to utilize the global registers referenced within each input .s file. To do this, you must introduce a new assembler pseudo op to provide this functionality.

Since the compiler may also output assembly language, e.g. with -S options, which may later be assembled by the assembler, it is necessary for the compiler to output the new pseudo ops so as to provide the proper documentation of the global register usage.

New SPARC V9 Pseudo Instruction:

.register %g {2 | 3 | 6 | 7}, {#scratch | symbol name}

The new pseudo is accepted by the SPARC assembler for any arch setting. It only has an effect for V9. This allows enables you to write assembly code for V8 and V9 using the new natural assembly pseudo ops. For V8 on SPARC architecture versions 2.5.1 and 2.6, the pseudo op is accepted, but ignored.

Under -xarch=v9, if the SPARC assembler detects a global register use that is not covered by a new pseudo op, then the SPARC assembler displays an error message.

Under -xarch=v9, if the SPARC assembler detects multiple differing pseudo ops related to the same global register, then the SPARC assembler issues an error message. Otherwise, the SPARC assembler lists the appropriate ELF register records as identified by the user. The SPARC assembler may verify that the specified usage description is correct, but is not required to do so.

Localization Issues

Arabic and Hebrew Support

Arabic and Hebrew support forms a part of the overall Complex Text Layout (CTL) support in the Solaris 7 operating environment of which Thai is also a part. The following information outlines the major features of this support including language features, information on how to enter Arabic and Hebrew characters, and printing.

The following Arabic and Hebrew features are supported in the Solaris 7 operating environment: